标签:pre 第k小 push ret class roo java div new
题目描述:给定一棵二叉搜索树,请找出其中的第k小的结点。例如:(5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。
实现语言:Java
/*
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
import java.util.Stack;
public class Solution {
TreeNode KthNode(TreeNode root, int k){
if(root==null||k<=0){
return null;
}
Stack<TreeNode> stk=new Stack<TreeNode>();
while(!stk.isEmpty()||root!=null){
if(root!=null){
stk.push(root);
root=root.left;
}else{
root=stk.pop();
if(k==1){
return root;
}
--k;
root=root.right;
}
}
return null;
}
}
标签:pre 第k小 push ret class roo java div new
原文地址:https://www.cnblogs.com/xidian2014/p/10201766.html