Maximum Depth of Binary Tree(leetcode)
2014-11-06 15:15
211 查看
题目:
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.
题目来源:https://oj.leetcode.com/problems/maximum-depth-of-binary-tree/
解题思路:1、广搜2、深搜,找出最大值
广搜代码:
深搜代码:
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.
题目来源:https://oj.leetcode.com/problems/maximum-depth-of-binary-tree/
解题思路:1、广搜2、深搜,找出最大值
广搜代码:
#include<iostream> #include<queue> using namespace std; struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; int maxDepth(TreeNode *root) { int result=0; if(root==NULL) return result; queue<TreeNode *> q; q.push(root); int k=0,level=1; while(!q.empty()) { k=level; level=0; for(int i=0;i<k;i++) { if(q.front()->left!=NULL) { q.push(q.front()->left); level++; } if(q.front()->right!=NULL) { q.push(q.front()->right); level++; } q.pop(); } result++; } return result; } int main() { TreeNode* root=new TreeNode(1); root->left=new TreeNode(2); root->right=new TreeNode(3); root->left->left=new TreeNode(4); root->right->left=new TreeNode(5); int results=maxDepth(root); system("pause"); return 0; }
深搜代码:
#include<iostream> #include<stack> using namespace std; struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; void dfs(TreeNode *root,int result,int &max) { if(root==NULL) { if(result>max) max=result; return ; } ++result; dfs(root->left,result,max); dfs(root->right,result,max); } int maxDepth(TreeNode *root) { int max=0; if(root==NULL) return max; int result=0; dfs(root,result,max); return max; } int main() { TreeNode* root=new TreeNode(1); root->left=new TreeNode(2); root->right=new TreeNode(3); root->left->left=new TreeNode(4); root->right->left=new TreeNode(5); int results=maxDepth(root); system("pause"); return 0; }利用栈进行迭代的算法以后再写。
相关文章推荐
- [Leetcode 8] 104 Maximum Depth of Binary Tree
- 【LeetCode with Python】 Maximum Depth of Binary Tree
- leetcode 24: Maximum Depth of Binary Tree
- LeetCode_Maximum Depth of Binary Tree
- LeetCode题目笔记(二) -- Maximum Depth of Binary Tree
- LeetCode Maximum Depth of Binary Tree
- [LeetCode] Maximum Depth of Binary Tree
- LeetCode - Maximum Depth of Binary Tree
- [leetcode] Maximum Depth of Binary Tree
- [LeetCode] Maximum Depth of Binary Tree
- [leetcode]Maximum Depth of Binary Tree
- Leetcode 104 Maximum Depth of Binary Tree
- [leetcode刷题系列]Maximum Depth of Binary Tree
- LeetCode:Maximum Depth of Binary Tree
- [LeetCode] Maximum Depth of Binary Tree
- Leetcode: Maximum Depth of Binary Tree
- LeetCode: Maximum Depth of Binary Tree
- LeetCode-Maximum Depth of Binary Tree
- [leetcode]Maximum Depth of Binary Tree
- [leetcode]Maximum Depth of Binary Tree