博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
104. Maximum Depth of Binary Tree
阅读量:5022 次
发布时间:2019-06-12

本文共 1358 字,大约阅读时间需要 4 分钟。

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; } * } */

分析

求二叉树的最大深度

解答

解法1:(我)递归(1ms)

public class Solution {    public int maxDepth(TreeNode root) {        if (root == null)//根节点为null            return 0;        else if (root.left == null && root.right == null)//根节点的左右孩子都为null            return 1;        else if (root.left != null && root.right != null)//根节点的左右孩子都不为null            return Math.max(maxDepth(root.left),maxDepth(root.right)) + 1;        else if(root.left == null)//根节点的左孩子为null,右孩子不为null            return maxDepth(root.right) + 1;        else//根节点的右孩子为null,左孩子不为null            return maxDepth(root.left) + 1;    }}

 

解法2:(我)解法1的优化(1ms)

public class Solution {    public int maxDepth(TreeNode root) {        if (root == null)            return 0;        else            return Math.max(maxDepth(root.left),maxDepth(root.right)) + 1;    }}

 

解法3:解法2的优化(1ms√)

public class Solution {    public int maxDepth(TreeNode root) {        return (root == null) ? 0 : Math.max(maxDepth(root.left),maxDepth(root.right)) + 1;    }}

转载于:https://www.cnblogs.com/xuehaoyue/p/6412672.html

你可能感兴趣的文章
phpstorm 格式化代码方法
查看>>
Longest Common Prefix
查看>>
linux中一些常用的命令总结
查看>>
研究生们典型的一天,躺着也中枪
查看>>
控制input只能输入1-200范围的数字
查看>>
kubectl常用命令
查看>>
关于项目使用ARC的管理方式
查看>>
GCC编译步骤
查看>>
AppModify修改app.config
查看>>
一个有趣的关机程序
查看>>
jquery 表单序列化 转换json
查看>>
一个简化的认证系统
查看>>
幻灯片背景图生成器
查看>>
Django--static静态文件引用
查看>>
编程之美-2.13-子数组的最大乘积
查看>>
BZOJ1069 SCOI2007最大土地面积(凸包+旋转卡壳)
查看>>
Design / UX Consultation
查看>>
windows7_下Eclipse中部署tomcat7.0进行JSP+servlet开发
查看>>
hdu 2008 数值统计(c语言)
查看>>
从服务器导入数据到本地的方法
查看>>