剑指offer(64):二叉搜索树的k大节点
发布时间
阅读量:
阅读量
题目描述
已知一棵二叉搜索树,要求确定其中第k大的节点。
分析
若对二叉搜索树执行中序遍历操作,所得到的序列将呈现出递增的特性,因此通过中序遍历的方式可以便捷地获取该树中第k大的节点。在这一过程中,可引入一个计数器变量,每当访问一个节点时,计数器数值增加1。当计数器的值与k相等时,当前访问的节点即为所求的目标节点。
/*
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
public class Solution {
int count = 0; // 遍历计数
TreeNode KthNode(TreeNode pRoot, int k) {
if(pRoot == null || k <= 0)
return null;
TreeNode target = null;
if(pRoot.left != null)
全部评论 (0)
还没有任何评论哟~
