【LeetCode】104. Maximum Depth of Binary Tree
来源:互联网 发布:淘宝网如何发布宝贝 编辑:程序博客网 时间:2024/05/21 15:45
问题描述
问题链接:https://leetcode.com/problems/maximum-depth-of-binary-tree/#/description
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.
我的代码
思路很简单,就是递归求最大的。
/** * 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 maxDeepCount = Integer.MIN_VALUE; public int maxDepth(TreeNode root) { /* 思路就是使用递归来找最大深度。 */ if(root == null){ return 0; } helper(root,1); return maxDeepCount; } private void helper(TreeNode root, int curDeep){ if(curDeep > maxDeepCount){ maxDeepCount = curDeep; } if(root.left != null){ helper(root.left, curDeep + 1); } if(root.right != null){ helper(root.right, curDeep + 1); } }}
打败了18.63%的Java代码,来学习一下评论区的大神们。
讨论区
Simple solution using Java
这个真的好省事啊。
if the node does not exist, simply return 0. Otherwise, return the 1+the longer distance of its subtree.
public int maxDepth(TreeNode root) { if(root==null){ return 0; } return 1+Math.max(maxDepth(root.left),maxDepth(root.right));}
Clean Java Iterative Solution
I do believe if you can think of an iterative solution, it’s always better than using a recursive one. And technical y every recursive solution can be converted into a equivalent iterative one.
public int maxDepth(TreeNode root) { if (root == null) return 0; Deque<TreeNode> stack = new LinkedList<TreeNode>(); stack.push(root); int count = 0; while (!stack.isEmpty()) { int size = stack.size(); while (size-- > 0) { TreeNode cur = stack.pop(); if (cur.left != null) stack.addLast(cur.left); if (cur.right != null) stack.addLast(cur.right); } count++; } return count;}
0 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
- Authentication failed for
- Matlab&Simulink开发STM32F4
- window 服务中调试技巧
- overridePendingTransition
- 博客站长务必要养成的好习惯
- 【LeetCode】104. Maximum Depth of Binary Tree
- linux进程后台运行的几种方法
- 什么是RandomAccessFile
- cmd 更改字体
- js中的时间与毫秒数互相转换,倒计时
- spring 后台接收参数问题总结
- 中国开源项目码云的下载方式
- Rails 时区Time Zone
- Java多态性