parent
1dcf076913
commit
2fd4fe195e
@ -0,0 +1,35 @@ |
|||||||
|
--- |
||||||
|
二叉树相关 |
||||||
|
--- |
||||||
|
|
||||||
|
#### 目录 |
||||||
|
|
||||||
|
1. #### [07. 重建二叉树](https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/) |
||||||
|
|
||||||
|
#### [07. 重建二叉树](https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/) |
||||||
|
|
||||||
|
```java |
||||||
|
class Solution { |
||||||
|
|
||||||
|
public TreeNode buildTree(int[] preorder, int[] inorder) { |
||||||
|
int n = preorder.length; |
||||||
|
if (n == 0) { |
||||||
|
return null; |
||||||
|
} |
||||||
|
int rootVal = preorder[0], rootIndex = 0; |
||||||
|
for (int i = 0; i < n; i++) { |
||||||
|
if (inorder[i] == rootVal) { |
||||||
|
rootIndex = i; |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
TreeNode root = new TreeNode(rootVal); |
||||||
|
root.left = buildTree(Arrays.copyOfRange(preorder, 1, 1 + rootIndex), |
||||||
|
Arrays.copyOfRange(inorder, 0, rootIndex)); |
||||||
|
root.right = buildTree(Arrays.copyOfRange(preorder, 1 + rootIndex, n), |
||||||
|
Arrays.copyOfRange(inorder, rootIndex + 1, n)); |
||||||
|
return root; |
||||||
|
} |
||||||
|
} |
||||||
|
``` |
||||||
|
|
Loading…
Reference in new issue