二叉树的深度搜索专题一>二叉搜索树中第 K 小的元素
题目:https://i-blog.csdnimg.cn/direct/48fb21ed53024a4f909dbf7841904acd.png
剖析:
采用中序遍历+两个全局变量 +剪枝
两个全局变量:count计数,ret返回,搜索二叉树中由于中序遍历是有序的,把K赋值给count,当count==0时就找到第K小的值,就返回ret
代码:
class Solution {
private int count;
private int ret;
public int kthSmallest(TreeNode root, int k) {
count = k;
dfs(root);
return ret;
}
private void dfs(TreeNode root){
/**中序遍历+两个全局变量+剪枝
*/
//剪枝
if(root == null || count == 0) return;
dfs(root.left);
count--;
if(count == 0) ret = root.val;
//剪枝
if(count == 0) return;
dfs(root.right);
}
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]