import java.util.ArrayDeque;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
public class BinaryTreeNode {
int data;
BinaryTreeNode left;
BinaryTreeNode right;
public BinaryTreeNode(int data,BinaryTreeNode left,BinaryTreeNode right){
this.data = data;
this.left = left;
this.right = right;
}
public BinaryTreeNode(){
}
/**
* 先序遍历二叉树
* @param treeDate
* @return
*/
public BinaryTreeNode createTree(LinkedList<Integer> treeDate){
int root = treeDate.removeFirst();
BinaryTreeNode node = null;
if (root != -1){
node = new BinaryTreeNode(root,null,null);
node.left = createTree(treeDate);
node.right = createTree(treeDate);
}
return node;
}
/**
* 前序遍历
* @param root
*/
public void BinaryTreePreRecur(BinaryTreeNode root){
if (root != null){
System.out.print(root.data+",");
BinaryTreePreRecur(root.left);
BinaryTreePreRecur(root.right);
}
}
public void BinaryTreeMidRecur(BinaryTreeNode root){
if (root != null){
BinaryTreeMidRecur(root.left);
System.out.print(root.data+",");
BinaryTreeMidRecur(root.right);
}
}
public void BinaryTreeBackRecur(BinaryTreeNode root){
if (root != null){
BinaryTreeBackRecur(root.left);
BinaryTreeBackRecur(root.right);
System.out.print(root.data+",");
}
}
}