104. Maximum Depth of Binary Tree
2017-04-03 00:15
260 查看
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
题目不难:要求我们求出一个二叉树最大深度,也就是从根节点到最远的叶子节点的距离;
所以,我们只需要递归遍历二叉树,达到一个叶子节点的时候,记录深度,我们就能得到最深的深度;
代码如下:
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int num;
int maxDepth(TreeNode *root) {
if(!root) {
return 0;
}
num = numeric_limits<int>::min();
travel(root, 1);
return num;
}
void travel(TreeNode* node, int level) {
if(!node->left && !node->right) {
num = max(num, level);
return;
}
if(node->left) {
travel(node->left, level + 1);
}
if(node->right) {
travel(node->right, level + 1);
}
}
};
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
题目不难:要求我们求出一个二叉树最大深度,也就是从根节点到最远的叶子节点的距离;
所以,我们只需要递归遍历二叉树,达到一个叶子节点的时候,记录深度,我们就能得到最深的深度;
代码如下:
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int num;
int maxDepth(TreeNode *root) {
if(!root) {
return 0;
}
num = numeric_limits<int>::min();
travel(root, 1);
return num;
}
void travel(TreeNode* node, int level) {
if(!node->left && !node->right) {
num = max(num, level);
return;
}
if(node->left) {
travel(node->left, level + 1);
}
if(node->right) {
travel(node->right, level + 1);
}
}
};
相关文章推荐
- LeetCode | Recover Binary Search Tree
- Binary Tree Right Side View
- LeetCode OJ(110. Balanced Binary Tree)
- LeetCode 102 Binary Tree Level Order Traversal(二叉树层序遍历)
- Binary Tree Inorder Traversal
- leetcode-111 Minimum Depth of Binary Tree
- *LeetCode-Binary Tree Right Side View
- 109. Convert Sorted List to Binary Search Tree
- 【leetcode】Balanced Binary Tree
- LeetCode——Binary Tree Preorder Traversal
- 94. Binary Tree Inorder Traversal**
- Binary Tree Inorder Traversal
- LeetCode-Binary Tree Inorder Traversal
- [leetcode] Binary Tree Right Side View
- Binary Tree Postorder Traversal
- PAT1064:Complete Binary Search Tree (Java实现)
- [LeetCode]637. Average of Levels in Binary Tree
- [LeetCode] Binary Tree Zigzag Level Order Traversal
- 十一第三题Binary Tree Level Order Traversal II
- Leetcode: Validate Binary Search Tree