二叉搜索树的第K个节点_JAVA_简单

二叉搜索树的第k个结点

http://www.nowcoder.com/questionTerminal/ef068f602dde4d28aab2b210e859150a

  • 二叉排序树找第K小值,则中序遍历到第k个时可满足需求
import java.util.*;
public class Solution {
    TreeNode KthNode(TreeNode pRoot, int k) {
        if(k == 0) {
            return null;
        }
        Stack stack = new Stack();
        TreeNode node = pRoot;
        // 中序遍历
        while(node != null || !stack.isEmpty()) {
            while(node != null) {
                stack.push(node);
                node = node.left;
            }
            node = stack.pop();
            if(--k <= 0) {
                break;
            }
            node = node.right;
        }
        return node;
    }
}
全部评论

相关推荐

10-21 00:37
已编辑
门头沟学院 C++
小浪_Coding:你问别人,本来就是有求于人,别人肯定没有义务免费回答你丫, 有点流量每天私信可能都十几,几十条的,大家都有工作和自己的事情, 付费也是正常的, 就像你请别人搭把手, 总得给人家买瓶水喝吧
点赞 评论 收藏
分享
09-13 17:25
亲切的00后在笔试:我也遇到了,所以我早他一步查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务