public TreeNode covertToTree(Integer[] array) {
if (array.length == 0) {
return null;
}
TreeNode[] treeNodes = new TreeNode[array.length];
for (int i = 0; i < array.length; i++) {
if (array[i] == null) {
treeNodes[i] = null;
continue;
}
treeNodes[i] = new TreeNode(array[i], null, null);
}
for (int i = 0; i < array.length; i++) {
if (treeNodes[i] == null) {
continue;
}
int leftIndex = (i + 1) * 2 - 1;
int rightIndex = (i + 1) * 2;
if (leftIndex < array.length) {
treeNodes[i].left = treeNodes[(i + 1) * 2 - 1];
}
if (rightIndex < array.length) {
treeNodes[i].right = treeNodes[(i + 1) * 2];
}
}
return treeNodes[0];
}
力扣中使用的数组转树的代码
最新推荐文章于 2023-02-26 15:50:00 发布