【Leetcode】104. Maximum Depth of Binary Tree
来源:互联网 发布:淘宝王子团队联系方式 编辑:程序博客网 时间:2024/06/05 09:13
方法一:递归
思路:
(1)若树为空,则直接返回0。
(2)否则返回左子树的最大高度和右子树的最大高度的较大值+1。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public int maxDepth(TreeNode root) { if (root == null) return 0; return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1; }}
Runtime:1ms
思路:
(1)若树为空,则直接返回0。
(2)创建一个队列queue,用于存放所有节点,把根节点加入队列,用maxDepth记录最大高度。
(3)遍历队列,队列里的节点正是当前层得到节点,队列长度正是当前层的节点个数,遍历当前层的所有节点,若其左孩子不为空,则左孩子加入队列,若其右孩子不为空,则右孩子加入队列。注意每一层处理时需要先把队列长度保存在变量中,否则内层循环会导致队列长度递减。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public int maxDepth(TreeNode root) { if (root == null) return 0; Queue<TreeNode> queue = new LinkedList<TreeNode>(); queue.add(root); int maxDepth = 0; while (!queue.isEmpty()) { int size = queue.size(); for (int i = 0; i < size; i++) { TreeNode node = queue.poll(); if (node.left != null) queue.add(node.left); if (node.right != null) queue.add(node.right); } maxDepth++; } return maxDepth; }}Runtime:2ms
1 0
- [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
- LeetCode#104. Maximum Depth of Binary Tree
- Leetcode 104. Maximum Depth of Binary Tree
- LeetCode *** 104. Maximum Depth of Binary Tree
- 通过HTTPS(SSL加密)方式访问webservice
- SVN的使用教程
- 计算机有哪些操作系统?
- html 传递url参数特殊符号 & 传递网址
- php图谱
- 【Leetcode】104. Maximum Depth of Binary Tree
- jQuery中的clone妙用
- 历年诺贝尔物理学奖获得者名单及研究领域(1901-2016)
- ERROR manager.SqlManager: Error reading from database: java.sql.SQLException: Streaming result set
- tesnorflow实现N个epoch训练数据读取的办法
- Solr 学习(7) —- Solr Facet(实现搜索推荐词条)
- 15PB三周年创业感悟及献礼
- OpenSips使用说明
- Java 序列化 (Serializable) 的作用