二叉树总结:入口
二叉树的基本操作:
5、判断一个二叉树是否是BST树,判断一个BST树是否是AVl树
7、把BST树满足[begin,end]区间的值放在集合中、打印出来
返回中序遍历第k个节点的值:
出栈的时候 计数加一,然后达到数值栈顶元素即第k个元素。
//返回中序遍历 第k个节点的值
public T getInOrderNoK(int k){
return getInOrderNoK(this.root,k);
}
private T getInOrderNoK(BSTNode<T> root,int k){
int count=0;
Stack<BSTNode> st=new Stack<BSTNode>();
if(count>k || root==null){
return null;
}
while(!st.isEmpty()|| root!=null) {
while (root != null) {
st.push(root);
root = root.getLeft();
}
root = st.peek();
count++;
if (count == k) {
return root.getData();
}
st.pop();
root = root.getRight();
}
return null;
}