• leetcode刷题笔记一百零四题 二叉树的最大深度


    leetcode刷题笔记一百零四题 二叉树的最大深度

    源地址:104. 二叉树的最大深度

    问题描述:

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

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

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

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

    3

    /
    9 20
    /
    15 7
    返回它的最大深度 3 。

    /**
    *本题亦可分为递归法和迭代法
    */
    //递归法
    /**
     * Definition for a binary tree node.
     * class TreeNode(var _value: Int) {
     *   var value: Int = _value
     *   var left: TreeNode = null
     *   var right: TreeNode = null
     * }
     */
    object Solution {
        def maxDepth(root: TreeNode): Int = {
            //当前结点为空,则返回0
            if (root == null) return 0、
            //否则返回左右子树的max高度+1
            return 1 + Math.max(maxDepth(root.left), maxDepth(root.right))
        }
    }
    
    //迭代法 基于BFS处理完一层将其左右子树加入,树高+1
    /**
     * Definition for a binary tree node.
     * class TreeNode(var _value: Int) {
     *   var value: Int = _value
     *   var left: TreeNode = null
     *   var right: TreeNode = null
     * }
     */
    import scala.collection.mutable 
    object Solution {
        def maxDepth(root: TreeNode): Int = {
            if (root == null) return 0
            val queue = new mutable.Queue[TreeNode]()
            var ans = 0
            queue.enqueue(root)
    
            while (queue.isEmpty == false){
                val queueSize = queue.size
                for (i <- 0  until queueSize){
                    val tempNode = queue.dequeue
                    if (tempNode.left != null) queue.enqueue(tempNode.left)
                    if (tempNode.right != null) queue.enqueue(tempNode.right)
                }
                ans += 1
            }
            return ans
        }
    }
    
  • 相关阅读:
    How can i install ctags in centos 6.4
    [转载] Ubuntu Vim powerline 插件
    Vim 相关网页
    [转载] vim技巧:设置空格和Tab字符可见
    Don't trust cplusplus.com, it's crap. If any, go to cppreference.com.
    Vim yank only 50 lines
    按进程名终止进程
    Shell 脚本 Tips
    Bash 脚本 逐行处理文本文件的内容
    生成并配置https本地证书
  • 原文地址:https://www.cnblogs.com/ganshuoos/p/13434519.html
Copyright © 2020-2023  润新知