二叉搜索树的中序遍历为有序序列,可以先中序遍历,再获得第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); } }