第K大,所以右根左;第K小才是左根右
class Solution {
int count = 0, result = 0;
public int kthLargest(TreeNode root, int k) {
dfs(root, k);
return result;
}
public void dfs(TreeNode root, int k){
if(root.right != null) dfs(root.right, k);
if(++count == k){
result = root.val;
return;
}
if(root.left != null) dfs(root.left, k);
}
}
本文介绍了一种寻找二叉树中第K大元素的方法,通过右根左的遍历顺序实现。该算法首先访问右子树,然后访问根节点,最后访问左子树,确保了能按降序遍历所有节点并找到第K大的元素。
234

被折叠的 条评论
为什么被折叠?



