看代码前先聊一聊二叉搜索树:
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);
}
}
}


京公网安备 11010502036488号