File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change
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
+ } ;
You can’t perform that action at this time.
0 commit comments