使用数组构建一颗二叉树
TreeNode[] treeArrays = new TreeNode[10];
for (int i = 0; i < treeArrays.length; i++) {
treeArrays[i] = new TreeNode();
treeArrays[i].val = i;
}
//build tree
int length = treeArrays.length;
for (int i = 0; i < length; i++) {
if (2 * i + 1 < length) {
treeArrays[i].left = treeArrays[2 * i + 1];
}
if (2 * i + 2 < length) {
treeArrays[i].right = treeArrays[2 * i + 2];
}
}
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode() {
}
TreeNode(int val) {
this.val = val;
}
TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
}