mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-11 04:54:51 +08:00
Merge pull request #1069 from xiaofei-2020/tree9
添加(0104.二叉树的最大深度.md):增加typescript版本
This commit is contained in:
@ -598,7 +598,81 @@ var maxDepth = function(root) {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## TypeScript:
|
||||||
|
|
||||||
|
> 二叉树的最大深度:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
// 后续遍历(自下而上)
|
||||||
|
function maxDepth(root: TreeNode | null): number {
|
||||||
|
if (root === null) return 0;
|
||||||
|
return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
// 前序遍历(自上而下)
|
||||||
|
function maxDepth(root: TreeNode | null): number {
|
||||||
|
function recur(node: TreeNode | null, count: number) {
|
||||||
|
if (node === null) {
|
||||||
|
resMax = resMax > count ? resMax : count;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
recur(node.left, count + 1);
|
||||||
|
recur(node.right, count + 1);
|
||||||
|
}
|
||||||
|
let resMax: number = 0;
|
||||||
|
let count: number = 0;
|
||||||
|
recur(root, count);
|
||||||
|
return resMax;
|
||||||
|
};
|
||||||
|
|
||||||
|
// 层序遍历(迭代法)
|
||||||
|
function maxDepth(root: TreeNode | null): number {
|
||||||
|
let helperQueue: TreeNode[] = [];
|
||||||
|
let resDepth: number = 0;
|
||||||
|
let tempNode: TreeNode;
|
||||||
|
if (root !== null) helperQueue.push(root);
|
||||||
|
while (helperQueue.length > 0) {
|
||||||
|
resDepth++;
|
||||||
|
for (let i = 0, length = helperQueue.length; i < length; i++) {
|
||||||
|
tempNode = helperQueue.shift()!;
|
||||||
|
if (tempNode.left) helperQueue.push(tempNode.left);
|
||||||
|
if (tempNode.right) helperQueue.push(tempNode.right);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return resDepth;
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
> N叉树的最大深度
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
// 后续遍历(自下而上)
|
||||||
|
function maxDepth(root: TreeNode | null): number {
|
||||||
|
if (root === null) return 0;
|
||||||
|
return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
// 前序遍历(自上而下)
|
||||||
|
function maxDepth(root: TreeNode | null): number {
|
||||||
|
function recur(node: TreeNode | null, count: number) {
|
||||||
|
if (node === null) {
|
||||||
|
resMax = resMax > count ? resMax : count;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
recur(node.left, count + 1);
|
||||||
|
recur(node.right, count + 1);
|
||||||
|
}
|
||||||
|
let resMax: number = 0;
|
||||||
|
let count: number = 0;
|
||||||
|
recur(root, count);
|
||||||
|
return resMax;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
## C
|
## C
|
||||||
|
|
||||||
二叉树最大深度递归
|
二叉树最大深度递归
|
||||||
```c
|
```c
|
||||||
int maxDepth(struct TreeNode* root){
|
int maxDepth(struct TreeNode* root){
|
||||||
|
Reference in New Issue
Block a user