专栏首页韦弦的偶尔分享Swift 二叉树的最大深度- LeetCode

Swift 二叉树的最大深度- LeetCode

LeetCode

题目: 二叉树的最大深度

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

示例: 给定二叉树[3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7

返回它的最大深度 3 。

方案:

分别求左右节点最大深度,左右节点又分别求左右节点的最大深度...递归解决

代码:
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     public var val: Int
 *     public var left: TreeNode?
 *     public var right: TreeNode?
 *     public init(_ val: Int) {
 *         self.val = val
 *         self.left = nil
 *         self.right = nil
 *     }
 * }
 */
class Solution {
    func maxDepth(_ root: TreeNode?) -> Int {
        if root == nil {
            return 0
        }
        return (1 + max(maxDepth(root?.left), maxDepth(root?.right)))
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 微信小程序导航参数中含有问号

    和三一样,还可以使用 encodeURIComponent 和 decodeURIComponent 这就是小程序中导航的参数含有?的解决方案,如果还有其他好...

    韦弦zhy
  • Swift 验证二叉搜索树- LeetCode

    对isValidBSTUtil(node.left, min, node.val) && isValidBSTUtil(node.right, node.val...

    韦弦zhy
  • Swift 合并两个有序链表 - LeetCode

    将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

    韦弦zhy
  • C++后台腾讯WXG实习面经(已拿offer)

    牛客网
  • C++后台实习面经 - 腾讯WXG

    拿到题目之后没有任何思考,想用中序遍历然后把遍历结果放到一个容量为k的队列中(基本操作)。但是为什么顺手就写下vector???面试官看见我这么快下笔之后看了看...

    牛客网
  • linux服务器搭建之路8-安装cairo-dock美化桌面

    可能出现不成功,因为不是每个人的nux-dextop都能连上,比如我就一直连接不上。

    锦小年
  • 【一起来烧脑】读懂HTTP知识体系

    读懂HTTP很重要,参加过面试的小伙伴都很清楚,无论是技术面试面试题出得怎样,都有机会让你讲解一下HTTP,大部分都会问一下。

    达达前端
  • C++后台腾讯WXG实习面经(已拿offer)

    时间:2018年4月16日 岗位:C/C++后台开发(Linux) BG:WXG 关于我:本科大三 预计2019年毕业 一面(普通技术面) 过程:递交简历 ->...

    牛客网
  • Nginx性能优化

    当我需要进行性能优化时,说明我们服务器无法满足日益增长的业务。性能优化是一个比较大的课题,需要从以下几个方面进行探讨

    Cyylog
  • IntelliJ IDEA 创建 Git 分支并且 Push 到远程

    在 IntelliJ 的右下角,你可以看到当前的 Git 分支,然后你可以单击这个分支后,在弹出的界面的最上方有一个新建分支的选项。

    HoneyMoose

扫码关注云+社区

领取腾讯云代金券