LeetCode-104. Maximum Depth of Binary Tree
2018-04-03 14:14
288 查看
Description
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 binary tree [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 return its depth = 3.
Solution 1(C++)
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ static int x=[](){std::ios::sync_with_stdio(false); cin.tie(NULL); return 0; }(); class Solution { public: int maxDepth(TreeNode* root) { int maxlv=0; if(root==NULL) return maxlv; queue<TreeNode*> q; q.push(root); while(!q.empty()){ maxlv++; long len=q.size(); for(int i=0; i<len; i++){ TreeNode* temp=q.front(); q.pop(); if(temp->left) q.push(temp->left); if(temp->right) q.push(temp->right); } } return maxlv; } };
Solution 2(C++)
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int 9bf0 x) : val(x), left(NULL), right(NULL) {} * }; */ static string opt =[](){ std::ios::sync_with_stdio(false); cin.tie(NULL); return ""; }(); class Solution { public: int maxDepth(TreeNode* root) { if(!root) return 0; return max(maxDepth(root->left), maxDepth(root->right)) + 1; } };
算法分析
解法一自己做得,解法二参考别人的,我觉得解法二比较好的体现了树这种结构。每一个根节点有自己的子节点,每一个子节点又有自己的子节点,天然适合迭代。程序分析
略。相关文章推荐
- LeetCode之104. Maximum Depth of Binary Tree
- Leetcode-标签为Tree 111. Minimum Depth of Binary Tree
- LeetCode543. Diameter of Binary Tree
- leetcode 104. Maximum Depth of Binary Tree
- leetcode记录 104. Maximum Depth of Binary Tree
- LeetCode *** 111. Minimum Depth of Binary Tree
- LeetCode: 104. Maximum Depth of Binary Tree
- Leetcode 111. Minimum Depth of Binary Tree
- Leetcode 104. Maximum Depth of Binary Tree
- leetcode 543. Diameter of Binary Tree
- leetcode 104. Maximum Depth of Binary Tree
- 【LeetCode】111.Minimum Depth of Binary Tree
- 渣渣写LEETCODE——104. Maximum Depth of Binary Tree
- [leetcode] 111. Minimum Depth of Binary Tree
- Leetcode 104. Maximum Depth of Binary Tree
- LeetCode-226. Invert Binary Tree
- LeetCode 111. Minimum Depth of Binary Tree
- LeetCode 104. Maximum Depth of Binary Tree
- Leetcode 111. Minimum Depth of Binary Tree
- 剑指offer 面试题19:二叉树的镜像(leetcode226. Invert Binary Tree) 题解