迭代----- Maximum Depth of Binary Tree
来源:互联网 发布:js 模块化编程 入门 编辑:程序博客网 时间:2024/06/08 10:19
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.
Have you met this question in a real interview? Yes
Example
Given a binary tree as follow:
1
/ \
2 3
/ \
4 5
The maximum depth is 3.
Tags Expand
Related Problems Expand
解法0:
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */public class Solution { public int maxDepth(TreeNode root) { if (root == null) { return 0; } int left = maxDepth(root.left); int right = maxDepth(root.right); return Math.max(left, right) + 1; }}
解法1:
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */public class Solution { /** * @param root: The root of binary tree. * @return: An integer. */ public int maxDepth(TreeNode root) { if(root == null) return 0; int depth = 0; LinkedList<TreeNode> queue = new LinkedList<TreeNode>(); queue.add(root); int curNum = 1; //num of nodes left in current level int nextNum = 0; //num of nodes in next level while(!queue.isEmpty()){ TreeNode n = queue.poll(); curNum--; if(n.left!=null){ queue.add(n.left); nextNum++; } if(n.right!=null){ queue.add(n.right); nextNum++; } if(curNum == 0){ curNum = nextNum; nextNum = 0; depth++; } } return depth;}}
0 0
- 迭代----- 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
- 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
- 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
- Express + Node.js 实现拦截器
- 微信公众平台从入门到精通二
- iOS文件写入读取
- spring MVC配置详解
- ListView的使用
- 迭代----- Maximum Depth of Binary Tree
- JSTL中EL表达式无法直接取size的处理
- jqgrid刷新列表,重新加载数据
- 学习笔记——MySQL
- 【Linux】Android Studio在ubuntu14.04中的配置
- 怎样用EDIUS实现视频的快速剪裁
- MySql常用函数及命令
- React组件属性类--propTypes
- 配置多网卡ip(eth0 and eth1)问题?