[LintCode] Maximum Depth of Binary Tree 二叉树的最大深度
Posted Grandyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LintCode] Maximum Depth of Binary Tree 二叉树的最大深度相关的知识,希望对你有一定的参考价值。
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.
Example
Given a binary tree as follow:
1
/ \\
2 3
/ \\
4 5
The maximum depth is 3
.
LeetCode上的原题,请参见我之前的博客Maximum Depth of Binary Tree。
解法一:
class Solution { public: /** * @param root: The root of binary tree. * @return: An integer */ int maxDepth(TreeNode *root) { if (!root) return 0; return 1 + max(maxDepth(root->left), maxDepth(root->right)); } };
解法二:
class Solution { public: /** * @param root: The root of binary tree. * @return: An integer */ int maxDepth(TreeNode *root) { if (!root) return 0; int res = 0; queue<TreeNode*> q; q.push(root); while(!q.empty()) { ++res; int n = q.size(); for (int i = 0; i < n; ++i) { TreeNode *t = q.front(); q.pop(); if (t->left) q.push(t->left); if (t->right) q.push(t->right); } } return res; } };
以上是关于[LintCode] Maximum Depth of Binary Tree 二叉树的最大深度的主要内容,如果未能解决你的问题,请参考以下文章
lintcode-easy-Maximum Depth of Binary Tree
lintcode97- Maximum Depth of Binary Tree- easy
[LintCode] Maximum Depth of Binary Tree 二叉树的最大深度
lintcode-medium-Maximum Subarray II