TreeNod
TreeNode 改写版
This commit is contained in:
parent
ff2c9408d1
commit
d5d8fbbc3b
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user