LeetCode:104_Maximum Depth of Binary Tree | 二叉树的最大深度 | Easy
2014-11-27 16:46
597 查看
要求:求二叉树的深度(二叉树的深度为最远叶子节点到根节点的距离,即根节点到最远叶子节点的距离)
有两种求解的思路,一种采用DFS的思想,一种采用BFS的思想,如下代码所示:
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.
有两种求解的思路,一种采用DFS的思想,一种采用BFS的思想,如下代码所示:
struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x): val(x), left(NULL),right(NULL) {} }; //采用DFS的思想 int maxDepth(TreeNode *root) { if (NULL == root) return 0; int l = maxDepth(root->left); int r = maxDepth(root->right); return l > r ? l + 1:r+1; //以上这两种方式有一种更简便的方法 //return 1 + max(maxDepth(root->left), maxDepth(root->right)); } //采用BFS的方法,引入队列 int maxDepth(TreeNode *root) { if (NULL == root) return 0; queue <TreeNode *> que; int nCount = 1; int nDepth = 0;// 记录队列里面每一层上的元素 que.push(root); while(!que.empty()) { TreeNode *pTemp = que.front(); que.pop(); nCount --; if (pTemp->left) que.push(pTemp->left); if (pTemp->right) que.push(pTemp->right); if (nCount == 0) { nDepth ++; nCount = que.size(); } } return nDepth; }
相关文章推荐
- LeetCode:104_Maximum Depth of Binary Tree | 二叉树的最大深度 | Easy
- Leetcode 104 Maximum Depth of Binary Tree 二叉树的最大深度
- LeetCode:104_Maximum Depth of Binary Tree | 二叉树的最大深度 | 深度优先与广度优先深入理解
- 【LeetCode-面试算法经典-Java实现】【104-Maximum Depth of Binary Tree(二叉树的最大深度)】
- 【LeetCode】 Maximum Depth of Binary Tree 二叉树的最大深度 - Easy
- [LeetCode-104] Maximum Depth of Binary Tree(二叉树最大深度)
- 【LeetCode-面试算法经典-Java实现】【104-Maximum Depth of Binary Tree(二叉树的最大深度)】
- LeetCode 104 Maximum Depth of Binary Tree(二叉树的最大深度)
- [Java代码] [Leetcode] Maximum and Minimum 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 (检索二叉树的最大深度)Python
- [leetcode]Maximum Depth of Binary Tree (求二叉树的最大深度 C语言)
- LeetCode | Maximum Depth of Binary Tree(二叉树的深度)
- Maximum Depth of Binary Tree 二叉树的最大深度