We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 181940a commit 12a241aCopy full SHA for 12a241a
面试题07. 重建二叉树.js
@@ -0,0 +1,24 @@
1
+/**
2
+ * Definition for a binary tree node.
3
+ * function TreeNode(val) {
4
+ * this.val = val;
5
+ * this.left = this.right = null;
6
+ * }
7
+ */
8
9
+ * @param {number[]} preorder
10
+ * @param {number[]} inorder
11
+ * @return {TreeNode}
12
13
+var buildTree = function(preorder, inorder) {
14
+ if (preorder.length === 0) {
15
+ return null;
16
+ }
17
+ const node = new TreeNode(preorder[0]);
18
+ const index = inorder.indexOf(preorder[0]);
19
+ const leftPreorder = preorder.slice(1, index + 1);
20
+ node.left = leftPreorder.length ? buildTree(leftPreorder, inorder.slice(0, index)) : null;
21
+ const rightPreorder = preorder.slice(index + 1);
22
+ node.right = rightPreorder.length ? buildTree(rightPreorder, inorder.slice(index + 1)) : null;
23
+ return node;
24
+};
0 commit comments