mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
添加 104.二叉树的最大深度 go版本
This commit is contained in:
@ -284,6 +284,55 @@ Python:
|
|||||||
|
|
||||||
Go:
|
Go:
|
||||||
|
|
||||||
|
```go
|
||||||
|
/**
|
||||||
|
* Definition for a binary tree node.
|
||||||
|
* type TreeNode struct {
|
||||||
|
* Val int
|
||||||
|
* Left *TreeNode
|
||||||
|
* Right *TreeNode
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
func max (a, b int) int {
|
||||||
|
if a > b {
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
// 递归
|
||||||
|
func maxDepth(root *TreeNode) int {
|
||||||
|
if root == nil {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return max(maxDepth(root.Left), maxDepth(root.Right)) + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 遍历
|
||||||
|
func maxDepth(root *TreeNode) int {
|
||||||
|
levl := 0;
|
||||||
|
queue := make([]*TreeNode, 0);
|
||||||
|
if root != nil {
|
||||||
|
queue = append(queue, root);
|
||||||
|
}
|
||||||
|
for l := len(queue); l > 0; {
|
||||||
|
for ;l > 0;l-- {
|
||||||
|
node := queue[0];
|
||||||
|
if node.Left != nil {
|
||||||
|
queue = append(queue, node.Left);
|
||||||
|
}
|
||||||
|
if node.Right != nil {
|
||||||
|
queue = append(queue, node.Right);
|
||||||
|
}
|
||||||
|
queue = queue[1:];
|
||||||
|
}
|
||||||
|
levl++;
|
||||||
|
l = len(queue);
|
||||||
|
}
|
||||||
|
return levl;
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
JavaScript
|
JavaScript
|
||||||
```javascript
|
```javascript
|
||||||
|
Reference in New Issue
Block a user