【LeetCode】 Maximum Depth of Binary Tree 二叉树的最大深度
来源:互联网 发布:扭矩补偿算法 编辑:程序博客网 时间:2024/06/05 07:32
要求:求二叉树的深度(二叉树的深度为最远叶子节点到根节点的距离,即根节点到最远叶子节点的距离)
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的思想,如下代码所示:
1 struct TreeNode { 2 int val; 3 TreeNode* left; 4 TreeNode* right; 5 TreeNode(int x): val(x), left(NULL),right(NULL) {} 6 }; 7 8 //采用DFS的思想 9 int maxDepth(TreeNode *root)10 {11 if (NULL == root)12 return 0;13 int l = maxDepth(root->left);14 int r = maxDepth(root->right);15 16 return l > r ? l + 1:r+1;17 //以上这两种方式有一种更简便的方法18 //return 1 + max(maxDepth(root->left), maxDepth(root->right));19 }20 21 //采用BFS的方法,引入队列22 int maxDepth(TreeNode *root)23 {24 if (NULL == root)25 return 0;26 queue <TreeNode *> que;27 int nCount = 1;28 int nDepth = 0;// 记录队列里面每一层上的元素29 30 que.push(root);31 while(!que.empty()) {32 TreeNode *pTemp = que.front();33 que.pop();34 nCount --;35 36 if (pTemp->left)37 que.push(pTemp->left);38 if (pTemp->right)39 que.push(pTemp->right);40 41 if (nCount == 0) {42 nDepth ++;43 nCount = que.size();44 }45 }46 return nDepth;47 }
0 0
- 【LeetCode】Maximum Depth of Binary Tree (二叉树最大深度)
- Leetcode Maximum Depth of Binary Tree 二叉树最大深度
- Maximum Depth of Binary Tree 二叉树的最大深度
- Maximum Depth of Binary Tree 二叉树的最大深度
- Maximum Depth of Binary Tree 二叉树的最大深度
- Maximum Depth of Binary Tree 二叉树的最大深度
- maximum-depth-of-binary-tree(二叉树的最大深度)
- LeetCode OJ 之 Maximum Depth of Binary Tree (二叉树的最大深度)
- [leetcode]Maximum Depth of Binary Tree (求二叉树的最大深度 C语言)
- leetcode系列(28)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 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】 Maximum Depth of Binary Tree 二叉树的最大深度
- 【华为OJ】字符逆序
- PHP学习:in_array(),array_key_exists(),isset()的区别
- 人数不定的工资类
- js的一些操作
- 玩JoinQuant的开始
- 【LeetCode】 Maximum Depth of Binary Tree 二叉树的最大深度
- php操作office文档
- ssh2远程连接linux服务器
- Jmeter性能测试
- noip2014联合权值
- 【Java基础】:线程的生命周期
- Java中线程通信的方法
- JAVA多线程打印ABC
- Nginx搭建