添加(1382.将二叉搜索树变平衡.md):增加typescript版本

This commit is contained in:
Steve2020
2022-06-10 23:38:32 +08:00
parent af239cef80
commit 192beffb66

View File

@ -148,6 +148,30 @@ var balanceBST = function(root) {
}; };
``` ```
TypeScript
```typescript
function balanceBST(root: TreeNode | null): TreeNode | null {
const inorderArr: number[] = [];
inorderTraverse(root, inorderArr);
return buildTree(inorderArr, 0, inorderArr.length - 1);
};
function inorderTraverse(node: TreeNode | null, arr: number[]): void {
if (node === null) return;
inorderTraverse(node.left, arr);
arr.push(node.val);
inorderTraverse(node.right, arr);
}
function buildTree(arr: number[], left: number, right: number): TreeNode | null {
if (left > right) return null;
const mid = (left + right) >> 1;
const resNode: TreeNode = new TreeNode(arr[mid]);
resNode.left = buildTree(arr, left, mid - 1);
resNode.right = buildTree(arr, mid + 1, right);
return resNode;
}
```
----------------------- -----------------------