File tree Expand file tree Collapse file tree 3 files changed +106
-0
lines changed
solution/0500-0599/0530.Minimum Absolute Difference in BST Expand file tree Collapse file tree 3 files changed +106
-0
lines changed Original file line number Diff line number Diff line change @@ -253,6 +253,43 @@ impl Solution {
253
253
}
254
254
```
255
255
256
+ #### TypeScript
257
+
258
+ ``` ts
259
+ /**
260
+ * Definition for a binary tree node.
261
+ * class TreeNode {
262
+ * val: number
263
+ * left: TreeNode | null
264
+ * right: TreeNode | null
265
+ * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
266
+ * this.val = (val===undefined ? 0 : val)
267
+ * this.left = (left===undefined ? null : left)
268
+ * this.right = (right===undefined ? null : right)
269
+ * }
270
+ * }
271
+ */
272
+ function getMinimumDifference(root : TreeNode | null ): number {
273
+ if (! root ) return 0 ;
274
+
275
+ let prev = Number .MIN_SAFE_INTEGER;
276
+ let min = Number .MAX_SAFE_INTEGER;
277
+
278
+ const dfs = (node : TreeNode | null ) => {
279
+ if (! node ) return ;
280
+
281
+ dfs (node .left );
282
+ min = Math .min (min , node .val - prev );
283
+ prev = node .val ;
284
+ dfs (node .right );
285
+ };
286
+
287
+ dfs (root );
288
+
289
+ return min ;
290
+ }
291
+ ```
292
+
256
293
<!-- tabs:end -->
257
294
258
295
<!-- solution:end -->
Original file line number Diff line number Diff line change @@ -246,6 +246,43 @@ impl Solution {
246
246
}
247
247
```
248
248
249
+ #### TypeScript
250
+
251
+ ``` ts
252
+ /**
253
+ * Definition for a binary tree node.
254
+ * class TreeNode {
255
+ * val: number
256
+ * left: TreeNode | null
257
+ * right: TreeNode | null
258
+ * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
259
+ * this.val = (val===undefined ? 0 : val)
260
+ * this.left = (left===undefined ? null : left)
261
+ * this.right = (right===undefined ? null : right)
262
+ * }
263
+ * }
264
+ */
265
+ function getMinimumDifference(root : TreeNode | null ): number {
266
+ if (! root ) return 0 ;
267
+
268
+ let prev = Number .MIN_SAFE_INTEGER;
269
+ let min = Number .MAX_SAFE_INTEGER;
270
+
271
+ const dfs = (node : TreeNode | null ) => {
272
+ if (! node ) return ;
273
+
274
+ dfs (node .left );
275
+ min = Math .min (min , node .val - prev );
276
+ prev = node .val ;
277
+ dfs (node .right );
278
+ };
279
+
280
+ dfs (root );
281
+
282
+ return min ;
283
+ }
284
+ ```
285
+
249
286
<!-- tabs:end -->
250
287
251
288
<!-- solution:end -->
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
+ function getMinimumDifference ( root : TreeNode | null ) : number {
15
+ if ( ! root ) return 0 ;
16
+
17
+ let prev = Number . MIN_SAFE_INTEGER ;
18
+ let min = Number . MAX_SAFE_INTEGER ;
19
+
20
+ const dfs = ( node : TreeNode | null ) => {
21
+ if ( ! node ) return ;
22
+
23
+ dfs ( node . left ) ;
24
+ min = Math . min ( min , node . val - prev ) ;
25
+ prev = node . val ;
26
+ dfs ( node . right ) ;
27
+ } ;
28
+
29
+ dfs ( root ) ;
30
+
31
+ return min ;
32
+ }
You can’t perform that action at this time.
0 commit comments