Merge pull request #1462 from xiaofei-2020/exTree02

添加(1382.将二叉搜索树变平衡.md):增加typescript版本
This commit is contained in:
程序员Carl
2022-07-18 09:12:34 +08:00
committed by GitHub

View File

@ -188,6 +188,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;
}
```
-----------------------