给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。
看到题目中提到
二叉搜索树按大小顺寻
则想到左序遍历得到的数是由小到大排列的
public class Solution {
int index = 0;
TreeNode KthNode(TreeNode pRoot, int k)
{
if(pRoot != null){
TreeNode node = KthNode(pRoot.left,k);
if(node != null){
return node;
}
index++;
if(index == k){
return pRoot;
}
node = KthNode(pRoot.right,k);
if(node != null){
return node;
}
}
return null;
}
}
相关知识
二叉搜索树
树的基本知识
二叉树的知识
二叉查找树
平衡二叉树
红黑树
B树,B-树,B+树
二叉搜索树具有以下性质:
如果节点的左子树不空,则左子树上所有结点的值均小于等于它的根结点的值;
如果节点的右子树不空,则右子树上所有结点的值均大于等于它的根结点的值;
任意节点的左、右子树也分别为二叉查找树;
来源:CSDN
作者:zyp7355
链接:https://blog.csdn.net/zyp7355/article/details/103966957