TreeNod
TreeNode 改写版
This commit is contained in:
parent
ff2c9408d1
commit
d5d8fbbc3b
@ -1,6 +1,7 @@
|
|||||||
package com.code.leet.entiy;
|
package com.code.leet.entiy;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -26,6 +27,44 @@ public class TreeNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
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