File tree Expand file tree Collapse file tree 2 files changed +63
-0
lines changed Expand file tree Collapse file tree 2 files changed +63
-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+ let TreeNode = require ( '../工具/二叉树.js' )
10+
11+ /**
12+ * @param {TreeNode } root
13+ * @return {number[][] }
14+ */
15+ var levelOrderBottom = function ( root ) {
16+ let res = [ ]
17+ let dfs = ( node , level = 0 ) => {
18+ if ( ! node ) return
19+
20+ if ( ! res [ level ] ) {
21+ res [ level ] = [ ]
22+ }
23+
24+ dfs ( node . left , level + 1 )
25+ dfs ( node . right , level + 1 )
26+
27+ res [ level ] . push ( node . val )
28+ }
29+
30+ dfs ( root )
31+ return res . reverse ( )
32+ } ;
33+
34+ var t = new TreeNode ( 3 )
35+ t . left = new TreeNode ( 9 )
36+ t . right = new TreeNode ( 20 )
37+ t . right . left = new TreeNode ( 15 )
38+ t . right . right = new TreeNode ( 7 )
39+
40+ console . log ( levelOrderBottom ( t ) )
Original file line number Diff line number Diff line change 1+ let generateParenthesis = function ( n ) {
2+ let dp = [ ]
3+ dp [ 0 ] = [ '' ]
4+ dp [ 1 ] = [ '()' ]
5+
6+ for ( let i = 2 ; i <= n ; i ++ ) {
7+ let res = [ ]
8+ for ( let j = 0 ; j <= i - 1 ; j ++ ) {
9+ let inners = dp [ j ]
10+ let outers = dp [ i - 1 - j ]
11+
12+ for ( let inner of inners ) {
13+ for ( let outer of outers ) {
14+ res . push ( `(${ inner } )${ outer } ` )
15+ }
16+ }
17+ }
18+ dp [ i ] = res
19+ }
20+ return dp [ n ]
21+ } ;
22+
23+ console . log ( generateParenthesis ( 4 ) )
You can’t perform that action at this time.
0 commit comments