TreeNode 改写版
This commit is contained in:
huangge1199 2021-04-02 16:39:44 +08:00
parent ff2c9408d1
commit d5d8fbbc3b

View File

@ -1,6 +1,7 @@
package com.code.leet.entiy;
import java.util.ArrayList;
import java.util.List;
/**
@ -25,7 +26,45 @@ public class TreeNode {
this.right = right;
}
public TreeNode(List<Integer> list){
public TreeNode(List<Integer> list) {
if (list.size() == 0) {
return;
}
List<TreeNode> treeNodeList = new ArrayList<>();
int index = 0;
for (int i = 0; i < list.size(); i++) {
if (treeNodeList.size() == 0) {
this.val = list.get(i);
treeNodeList.add(this);
index = 0;
} else {
TreeNode root = treeNodeList.get(index);
treeNodeList.remove(index);
TreeNode left;
if (list.get(i) != null && root != null) {
left = new TreeNode(list.get(i));
root.left = left;
treeNodeList.add(index, left);
} else {
treeNodeList.add(index, null);
}
i++;
index++;
TreeNode right;
if (i < list.size()) {
if (list.get(i) != null && root != null) {
right = new TreeNode(list.get(i));
root.right = right;
treeNodeList.add(index, right);
}else{
treeNodeList.add(index, null);
}
index++;
}
if (index == treeNodeList.size()*2) {
index = 0;
}
}
}
}
}