您的位置:首页 > 其它

leetcode 每日一题 104. Maximum Depth of Binary Tree

2016-03-03 16:24 357 查看
求二叉树的深度的题,可以用递归的DFS做,试了几次发现ac了····

class Solution {
public:
int count=0;
int maxDepth(TreeNode* root) {
if(root==NULL) return 0;
count=max(maxDepth(root->left),maxDepth(root->right));
return count+1;
}
};


后来发现还可以用BFS的队列做~ 代码使用的 http://blog.csdn.net/doc_sgl/article/details/11853959 有空要自己再敲一下

int maxDepth(TreeNode *root) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(root == NULL) return 0;
queue<TreeNode*> que;
que.push(root);
int count = 1;
int depth = 0;
while(!que.empty())
{
TreeNode* tmp = que.front();
que.pop();
count--;

if(tmp->left)
que.push(tmp->left);
if(tmp->right)
que.push(tmp->right);
if(count == 0)
{
depth++;
count=que.size();
}
}
return depth;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: