看代码前先聊一聊二叉搜索树:
1.二叉搜索树的左节点都小于或等于根节点,
2.二叉搜索树的右节点都大于或等于根几点,
3.二叉搜索树的中序遍历是从小到大的顺序遍历的,
4.利用二叉搜索树中序遍历是有序的特点,
5.找到第k节点小的下表,并返回。

import java.util.ArrayList;
public class Solution {
    ArrayList<TreeNode> list = new ArrayList<>();
    TreeNode KthNode(TreeNode pRoot, int k)
    {
        mid(pRoot);
        if(k<1||list.size()<k){
            return null;
        }else{
            return list.get(k-1);
        }
    }  
    //递归遍历二叉搜索树
    public void mid(TreeNode pRoot){
        if(pRoot!=null){
            mid(pRoot.left);
            list.add(pRoot);
            mid(pRoot.right);
        }
    }
}