Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d2b05ae

Browse files
Merge pull request youngyangyang04#1083 from xiaofei-2020/tree16
添加(0404.左叶子之和.md):增加typescript版本
2 parents 308380d + f604aea commit d2b05ae

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

‎problems/0404.左叶子之和.md‎

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,50 @@ var sumOfLeftLeaves = function(root) {
372372
};
373373
```
374374

375+
## TypeScript
376+
377+
> 递归法
378+
379+
```typescript
380+
function sumOfLeftLeaves(root: TreeNode | null): number {
381+
if (root === null) return 0;
382+
let midVal: number = 0;
383+
if (
384+
root.left !== null &&
385+
root.left.left === null &&
386+
root.left.right === null
387+
) {
388+
midVal = root.left.val;
389+
}
390+
let leftVal: number = sumOfLeftLeaves(root.left);
391+
let rightVal: number = sumOfLeftLeaves(root.right);
392+
return midVal + leftVal + rightVal;
393+
};
394+
```
395+
396+
> 迭代法
397+
398+
```typescript
399+
function sumOfLeftLeaves(root: TreeNode | null): number {
400+
let helperStack: TreeNode[] = [];
401+
let tempNode: TreeNode;
402+
let sum: number = 0;
403+
if (root !== null) helperStack.push(root);
404+
while (helperStack.length > 0) {
405+
tempNode = helperStack.pop()!;
406+
if (
407+
tempNode.left !== null &&
408+
tempNode.left.left === null &&
409+
tempNode.left.right === null
410+
) {
411+
sum += tempNode.left.val;
412+
}
413+
if (tempNode.right !== null) helperStack.push(tempNode.right);
414+
if (tempNode.left !== null) helperStack.push(tempNode.left);
415+
}
416+
return sum;
417+
};
418+
```
375419

376420
## Swift
377421

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /