• 二叉树根结点到叶节点的最短距离


    参考:https://blog.csdn.net/weixin_41050155/article/details/83834623

    给定一棵二叉树,找出它的最小深度。最小深度是沿着从根节点到最近叶节点的最短路径的节点数目。

     

    复习时不会的地方:不知道距离怎么递归,是左右分别+1。(左边不行去右边,此时有必要区分左右)

    思路:不是比较max value什么的,而是递归

    • 当节点左右子树都为null时,返回0
    • 当左子树为null,返回右子树递归+1;
    • 当右字数为null,返回左子树递归+1;
    • 当左右子树都不为空,返回左右子树递归最小值
    public class Solution {
        public int run(TreeNode root) {
         //当节点左右子树都为null时,返回0
            if(root==null)
                return 0;
                //当左子树为null,返回右子树递归+1;
            if(root.left==null)
               return run(root.right)+1;
               //当右字数为null,返回左子树递归+1;
            if(root.right==null)
               return run(root.left)+1;
               //当左右子树都不为空,返回左右子树递归最小值。
            int right=run(root.right)+1;
            int left=run(root.left)+1;
            return left>right?right:left;
        }
    }
    ————————————————
    版权声明:本文为CSDN博主「Cynthia_wpp」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_41050155/article/details/83834623
     
  • 相关阅读:
    实现Java中的ArrayList
    官方下拉刷新控件SwipeRefreshLayout的使用
    SpannableString的基本用法
    AlarmManager的使用
    在Android上使用Socket
    HttpURLConnection、HttpClient和Session
    Cocos2d入门及第一次运行时遇到的问题
    Thread的start和run的区别
    《重构》心得
    startActivityForResult()的用法(超好用啊)
  • 原文地址:https://www.cnblogs.com/immiao0319/p/14854433.html
Copyright © 2020-2023  润新知