leetcode记录 104. Maximum Depth of Binary Tree
2016-05-13 11:02
309 查看
自己思路:在深度优先遍历的时候,记录一个depth变量,如果比maxDepth变量还大,那么就替换
还可以利用递归左右子树的方式,取左右子树中哪个子树深度更大(摘别人的代码):
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { private int maxDepth; private int depth; public int maxDepth(TreeNode root) { if(root==null) return 0; else{ maxDepth = 1; depth = 0; } treeTraverse(root); return maxDepth; } private void treeTraverse(TreeNode root){ depth++; if(depth>maxDepth){ maxDepth=depth; } if(root.left!=null) treeTraverse(root.left); if(root.right!=null) treeTraverse(root.right); depth--; } }
还可以利用递归左右子树的方式,取左右子树中哪个子树深度更大(摘别人的代码):
public int maxDepth(TreeNode root) { return maxDepth(root, 0); } private int maxDepth(TreeNode node,int depth) { if(node==null) return depth; return Math.max(maxDepth(node.left,depth+1), maxDepth(node.right, depth+1)); }
相关文章推荐
- spring 下载地址
- Jquery即点即改
- 如何让IIS 8.0支持无后缀图片的访问
- centos Linux 统计某个文件夹占用空间大小
- Leetcode 74 Search a 2D Matrix
- PHP问题 —— undefined function mb_convert_encoding
- 2011版MacBook Air win7安装教程
- MySQL数据库存储引擎比较
- 正则表达式
- Find minimum number in Rotated sorted array.
- 如何判断某个日期有多少天?
- Android中实现静态的默认安装和卸载应用
- 四种方式实现SQLServer 分页查询
- 跳舞的时间插件
- android 适配器动态生成控件时 复用的问题
- UIAlertController的使用
- Linux下安装mysql步骤及可能出现的问题
- 闰年计算
- Java进阶读书清单及好书推荐
- 前端框架