【leetcode每日一题】104.Maximum Depth of Binary Tree
来源:互联网 发布:网络高清图片大全 编辑:程序博客网 时间:2024/05/29 03:40
题目:
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.
即是求一课二叉树的深度。
解析:
方法一:用递归方法做,代码如下:
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: int maxDepth(TreeNode *root) { if (root==NULL) return 0; int l=maxDepth(root->left); int r=maxDepth(root->right); return l>r?l+1:r+1; }};
方法二:非遍历方法,用队列来做。类似于广度遍历的方法,把二叉树节点按层压入队列中。没遍历完一层,则树的高度就加一。代码如下:
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: int maxDepth(TreeNode* root) { if(root==NULL) { return 0; } queue<TreeNode *> nodes; int height=0; nodes.push(root); TreeNode *temp; int size=1; while(!nodes.empty()) { size--; temp=nodes.front(); nodes.pop(); if(temp->left!=NULL) { nodes.push(temp->left); } if(temp->right!=NULL) { nodes.push(temp->right); } if(size==0) { size=nodes.size(); height++; } } return height; }};
0 0
- 【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】104.Maximum Depth of Binary Tree
- [Leetcode] 104. Maximum Depth of Binary Tree
- LeetCode --- 104. Maximum Depth of Binary Tree
- LeetCode 104. Maximum Depth of Binary Tree
- leetCode 104. Maximum Depth of Binary Tree
- 104. Maximum Depth of Binary Tree LeetCode
- 104. Maximum Depth of Binary Tree LeetCode
- LeetCode 104. Maximum Depth of Binary Tree
- leetcode:104. Maximum Depth of Binary Tree
- LeetCode 104. Maximum Depth of Binary Tree
- [LeetCode]104. Maximum Depth of Binary Tree
- leetcode 104. Maximum Depth of Binary Tree
- LeetCode 104. Maximum Depth of Binary Tree
- 【LeetCode】104. Maximum Depth of Binary Tree
- codeforce Bubble Cup 8 - Finals G Run for beer
- ARC,MRC理解
- A Few Useful Things to Know About Machine Learning
- 在Unity3D中控制动画播放
- 三步搞定浏览器
- 【leetcode每日一题】104.Maximum Depth of Binary Tree
- 第五章 初始化与清理(上)
- @property 属性理解
- 项目11.1分离各位数
- Uva-10480 Sabotage
- 【三分】HDU3756 Dome of Circus
- 欧几里德算法
- km算法(求二分图带权的最大匹配)
- Android的进程Hnadler与AsyncTask