Skip to content

Commit 4cb7256

Browse files
authored
feat: add ts solution to lc problem: No.530 (#2832)
1 parent f1aee3d commit 4cb7256

File tree

3 files changed

+106
-0
lines changed

3 files changed

+106
-0
lines changed

solution/0500-0599/0530.Minimum Absolute Difference in BST/README.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,43 @@ impl Solution {
253253
}
254254
```
255255

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+
256293
<!-- tabs:end -->
257294

258295
<!-- solution:end -->

solution/0500-0599/0530.Minimum Absolute Difference in BST/README_EN.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,43 @@ impl Solution {
246246
}
247247
```
248248

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+
249286
<!-- tabs:end -->
250287

251288
<!-- solution:end -->
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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+
}

0 commit comments

Comments
 (0)