File tree Expand file tree Collapse file tree 3 files changed +109
-0
lines changed
solution/0200-0299/0257.Binary Tree Paths Expand file tree Collapse file tree 3 files changed +109
-0
lines changed Original file line number Diff line number Diff line change @@ -101,6 +101,44 @@ class Solution {
101
101
}
102
102
```
103
103
104
+ ### ** TypeScript**
105
+
106
+ ``` ts
107
+ /**
108
+ * Definition for a binary tree node.
109
+ * class TreeNode {
110
+ * val: number
111
+ * left: TreeNode | null
112
+ * right: TreeNode | null
113
+ * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
114
+ * this.val = (val===undefined ? 0 : val)
115
+ * this.left = (left===undefined ? null : left)
116
+ * this.right = (right===undefined ? null : right)
117
+ * }
118
+ * }
119
+ */
120
+
121
+ function binaryTreePaths(root : TreeNode | null ): string [] {
122
+ let ans = [];
123
+ let pre = ' ' ;
124
+ dfs (root , pre , ans );
125
+ return ans ;
126
+ };
127
+
128
+ function dfs(root : TreeNode | null , pre : string , ans : string []): void {
129
+ if (root == null ) return ;
130
+ let val = String (root .val );
131
+ pre = pre .length > 0 ? ` ${pre }->${val } ` : pre + val ;
132
+ // 叶子节点
133
+ if (root .left == null && root .right == null ) {
134
+ ans .push (pre );
135
+ return ;
136
+ }
137
+ dfs (root .left , pre , ans );
138
+ dfs (root .right , pre , ans );
139
+ }
140
+ ```
141
+
104
142
### ** ...**
105
143
106
144
```
Original file line number Diff line number Diff line change @@ -100,6 +100,44 @@ class Solution {
100
100
}
101
101
```
102
102
103
+ ### ** TypeScript**
104
+
105
+ ``` ts
106
+ /**
107
+ * Definition for a binary tree node.
108
+ * class TreeNode {
109
+ * val: number
110
+ * left: TreeNode | null
111
+ * right: TreeNode | null
112
+ * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
113
+ * this.val = (val===undefined ? 0 : val)
114
+ * this.left = (left===undefined ? null : left)
115
+ * this.right = (right===undefined ? null : right)
116
+ * }
117
+ * }
118
+ */
119
+
120
+ function binaryTreePaths(root : TreeNode | null ): string [] {
121
+ let ans = [];
122
+ let pre = ' ' ;
123
+ dfs (root , pre , ans );
124
+ return ans ;
125
+ };
126
+
127
+ function dfs(root : TreeNode | null , pre : string , ans : string []): void {
128
+ if (root == null ) return ;
129
+ let val = String (root .val );
130
+ pre = pre .length > 0 ? ` ${pre }->${val } ` : pre + val ;
131
+ // 叶子节点
132
+ if (root .left == null && root .right == null ) {
133
+ ans .push (pre );
134
+ return ;
135
+ }
136
+ dfs (root .left , pre , ans );
137
+ dfs (root .right , pre , ans );
138
+ }
139
+ ```
140
+
103
141
### ** ...**
104
142
105
143
```
Original file line number Diff line number Diff line change
1
+ /**
2
+ * Definition for a binary tree node.
3
+ * class TreeNode {
4
+ * val: number
5
+ * left: TreeNode | null
6
+ * right: TreeNode | null
7
+ * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
8
+ * this.val = (val===undefined ? 0 : val)
9
+ * this.left = (left===undefined ? null : left)
10
+ * this.right = (right===undefined ? null : right)
11
+ * }
12
+ * }
13
+ */
14
+
15
+ function binaryTreePaths ( root : TreeNode | null ) : string [ ] {
16
+ let ans = [ ] ;
17
+ let pre = '' ;
18
+ dfs ( root , pre , ans ) ;
19
+ return ans ;
20
+ } ;
21
+
22
+ function dfs ( root : TreeNode | null , pre : string , ans : string [ ] ) : void {
23
+ if ( root == null ) return ;
24
+ let val = String ( root . val ) ;
25
+ pre = pre . length > 0 ? `${ pre } ->${ val } ` : pre + val ;
26
+ // 叶子节点
27
+ if ( root . left == null && root . right == null ) {
28
+ ans . push ( pre ) ;
29
+ return ;
30
+ }
31
+ dfs ( root . left , pre , ans ) ;
32
+ dfs ( root . right , pre , ans ) ;
33
+ }
You can’t perform that action at this time.
0 commit comments