版权声明:本文自由转载,转载请注明出处。 https://blog.csdn.net/qq_38071429/article/details/84929010
最近作业好多 几门结课作业一起来 很烦啊
中序遍历二叉搜索树得到的就是升序的结点排列,遍历的时候加个判断是不是第k个结点就行了。
/*
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
public class Solution {
TreeNode result = null;
int count = 1;
TreeNode KthNode(TreeNode pRoot, int k){
if(k==0) return null;
midOrder(pRoot, k);
return result;
}
void midOrder(TreeNode p,int k){
//System.out.println(p.val + " K:"+k);
if(p==null) return;
midOrder(p.left, k);
if(k==count) {
result = p;
}
count++;
midOrder(p.right, k);
}
}