题解 | #二叉搜索树的第k个节点# [P2-T0]

二叉搜索树的第k个节点

http://www.nowcoder.com/practice/57aa0bab91884a10b5136ca2c087f8ff

in-order traversal

时间: O(h)
空间: O(h)
import java.util.*;

public class Solution {
  int visited = 0;
  int ans = -1;
  
  public int KthNode (TreeNode proot, int k) {
    recurse(proot, k);
    return ans;
  }
  
  void recurse(TreeNode n, int k) {
    if (n == null) return;
    if (ans != -1) return; // already found kth 
    
    recurse(n.left, k);
    
    visited++;
    if (visited == k) {
      ans = n.val;
    }

    recurse(n.right, k);
  }
}
全部评论

相关推荐

02-19 13:42
门头沟学院 Java
运气爆棚福星高赵:清✌️不用很在意项目,八股算法是重点,八股算法说的过去绝对要您
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务