网站优化标准,西安h5建站,网站建设公司网站源码,建设银行广州招聘网站给定一个二叉搜索树的根节点 root #xff0c;和一个整数 k #xff0c;请你设计一个算法查找其中第 k 小的元素#xff08;从 1 开始计数#xff09;。 示例 1#xff1a; 输入#xff1a;root [3,1,4,null,2], k 1
输出#xff1a;1示例 2#xff1a; 输入#xf…给定一个二叉搜索树的根节点 root 和一个整数 k 请你设计一个算法查找其中第 k 小的元素从 1 开始计数。 示例 1 输入root [3,1,4,null,2], k 1
输出1示例 2 输入root [5,3,6,2,4,null,null,1], k 3
输出3
思路 中序遍历
代码 迭代
class Solution {
public:vectorint res;inline void dfs(TreeNode* node){if(node nullptr)return;dfs(node-left);res.push_back(node-val);dfs(node-right);}int kthSmallest(TreeNode* root, int k) {TreeNode* node root;dfs(node);return res[k-1];}
}; 递归
class Solution {
public:vectorint res;inline void dfs(TreeNode* node){if(node nullptr)return;dfs(node-left);res.push_back(node-val);dfs(node-right);}int kthSmallest(TreeNode* root, int k) {TreeNode* node root;dfs(node);return res[k-1];}
};