先序创建二叉树,并从1递增赋值,先序遍历:
class TreeNode{
TreeNode left;
TreeNode right;
int val;
public TreeNode(int val){
this.val = val;
}
public TreeNode()
{}
}
public class BinaryTreeTest {
public static void main(String[] args){
TreeNode tree = new TreeNode();
createTree(3, 1, tree);
preOrderTraverse(tree);
}
public static int createTree(int N, int val, TreeNode root){
int leftVal = 0;
int rightVal = 0;
if (N > 1){
root.val = val;
val++;
root.left = new TreeNode();
root.right = new TreeNode();
leftVal = createTree(N-1, val, root.left);
//leftVal++;
rightVal = createTree(N-1, leftVal, root.right);
return rightVal;
}
else{
root.val = val;
return ++val;
}
}
public static void preOrderTraverse(TreeNode root)
{
if (root == null)
return;
else{
System.out.println(root.val);
preOrderTraverse(root.left);
preOrderTraverse(root.right);
}
}
}