二叉搜索树的中序遍历为有序序列,可以先中序遍历,再获得第K个位置的值
import java.util.*;
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* public TreeNode(int val) {
* this.val = val;
* }
* }
*/
public class Solution {
public int KthNode (TreeNode proot, int k) {
// write code here
if(proot == null || k==0){
return -1;
}
ArrayList res = new ArrayList();
inOrder(proot,res);
if(k>res.size()){
return -1;
}
return res.get(k-1);
}
public void inOrder(TreeNode root,ArrayList res){
if(root == null){
return;
}
inOrder(root.left,res);
res.add(root.val);
inOrder(root.right,res);
}
}
京公网安备 11010502036488号