package com.jiawei.Utils;
import java.util.LinkedList;
public class TreeNode {
public int val;
public TreeNode left;
public TreeNode right;
public TreeNode() {}
public TreeNode(int val) {
this.val = val;
}
public TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
public Integer getVal() {
return val;
}
public void setVal(int val) {
this.val = val;
}
public TreeNode getleft() {
return left;
}
public void setleft(TreeNode left) {
this.left = left;
}
public TreeNode getright() {
return right;
}
public void setright(TreeNode right) {
this.right = right;
}
public static TreeNode creatTree(Integer[] arr) {
TreeNode root = new TreeNode(arr[0]);
TreeNode current = null;
Integer value = null;
LinkedList<TreeNode> queue = new LinkedList<TreeNode>();
queue.offer(root);
int i = 1;
while (i < arr.length) {
current = (TreeNode) queue.poll();
value = arr[i++];
if (value != null) {
TreeNode left = new TreeNode(value);
current.setleft(left);
queue.offer(left);
}
value = arr[i++];
if (value != null) {
TreeNode right = new TreeNode(value);
current.setright(right);
queue.offer(right);
}
}
return root;
}
}