添加(0112.路径总和 ii):增加typescript版本

This commit is contained in:
Steve2020
2022-02-11 23:28:30 +08:00
parent 961ae6eadf
commit fde074cb2a

View File

@ -852,7 +852,39 @@ function hasPathSum(root: TreeNode | null, targetSum: number): boolean {
> 0112.路径总和 ii > 0112.路径总和 ii
**递归法:**
```typescript
function pathSum(root: TreeNode | null, targetSum: number): number[][] {
function recur(node: TreeNode, sumGap: number, routeArr: number[]): void {
if (
node.left === null &&
node.right === null &&
sumGap === 0
) resArr.push([...routeArr]);
if (node.left !== null) {
sumGap -= node.left.val;
routeArr.push(node.left.val);
recur(node.left, sumGap, routeArr);
sumGap += node.left.val;
routeArr.pop();
}
if (node.right !== null) {
sumGap -= node.right.val;
routeArr.push(node.right.val);
recur(node.right, sumGap, routeArr);
sumGap += node.right.val;
routeArr.pop();
}
}
const resArr: number[][] = [];
if (root === null) return resArr;
const routeArr: number[] = [];
routeArr.push(root.val);
recur(root, targetSum - root.val, routeArr);
return resArr;
};
```
## Swift ## Swift