二叉搜索树的第k个结点

二叉搜索树的第k个结点

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

加了一个判断减少递归次数

import java.util.ArrayList;

public class Solution {
    ArrayList<TreeNode> list = new ArrayList();
    TreeNode KthNode(TreeNode pRoot, int k){
        if( pRoot == null || k == 0 ) return null;

        toLDR(pRoot, k);

        if( k>=1 && list.size() >= k ) return list.get(k-1);

        return null;
    }

    public void toLDR( TreeNode node, int k){
        if( node != null ) {
            // 通过此处判断减少递归次数
            if ( list.size() >= k ) return ;
            toLDR( node.left, k );
            list.add( node );
            toLDR( node.right, k );
        }
    }
}
全部评论

相关推荐

04-15 23:42
中山大学 Java
ResourceUtilization:过几天楼主就会捧着一堆offer来问牛友们该怎么选辣
点赞 评论 收藏
分享
爱吃肉的伊登在写日记:好棒,27届简历能做成这个样子,但是第一个项目感觉cover住难度还是不小的,特别是二面的时候肯定要对分布式系统设计这一块儿有高出正常面试者的水平才行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务