import java.util.Stack;
public class Main445_isSearchBinaryTree {
// 搜索二叉树: 中序遍历结果依次上升
// 创建结点内部类
public static class Node{
public int value;
public Node left;
public Node right;
public Node(int data) {
this.value = data;
}
}
// 由非递归方法改变而得
public static boolean isSBT(Node head) {
System.out.println("in-order");
int lastValue = Integer.MIN_VALUE;
if(head!=null) {
Stack<Node> stack = new Stack<Node>();
while(!stack.isEmpty() || head != null) {
if(head != null) {
stack.push(head);
head=head.left;
}else {
head = stack.pop();
//System.out.println(head.value+" ");
if(head.value>lastValue) {
lastValue = head.value;
}else {
return false;
}
head = head.right;
}
}
}
return true;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}