本文共 1166 字,大约阅读时间需要 3 分钟。
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.
Given a binary tree as follow:
1 / \ 2 3 / \ 4 5
The maximum depth is 3
.
LeetCode上的原题,请参见我之前的博客。
解法一:
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; queueq; 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; }};
本文转自博客园Grandyang的博客,原文链接:,如需转载请自行联系原博主。