题解 | #牛群的最短路径#

牛群的最短路径

https://www.nowcoder.com/practice/c07472106bfe430b8e2f55125d817358

一、知识点:

遍历、二叉树

二、文字分析:

使用递归的方式遍历二叉树,并计算每个节点的最短路径。具体步骤如下:

  1. 如果二叉树的根节点为空,直接返回0,表示最短路径为0。
  2. 如果二叉树的左子树为空,递归计算右子树的最短路径,将其值保存在变量rightDepth中,并返回rightDepth加1,表示当前节点及其子树的最短路径。
  3. 如果二叉树的右子树为空,递归计算左子树的最短路径,将其值保存在变量leftDepth中,并返回leftDepth加1,表示当前节点及其子树的最短路径。
  4. 如果二叉树的左右子树都不为空,分别递归计算左子树和右子树的最短路径,将其值保存在变量leftDepth和rightDepth中,然后返回leftDepth和rightDepth中的较小值加1,表示当前节点及其子树的最短路径。

时间复杂度:O(N)

在最坏情况下,我们需要遍历二叉树的所有节点一次,其中N是二叉树中的节点数量。因此,时间复杂度为O(N)。

空间复杂度:O(H)

在递归的过程中,系统需要使用递归函数的调用栈。在最坏情况下,二叉树是一个单链的结构,递归的深度等于二叉树的高度H。因此,空间复杂度为O(H)。

三、编程语言:

java

四、正确代码:

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 *   public TreeNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {

    public int minDepth(TreeNode root) {
        if (root == null) {
            return 0;
        }

        if (root.left == null) {
            return minDepth(root.right) + 1;
        }

        if (root.right == null) {
            return minDepth(root.left) + 1;
        }

        int leftDepth = minDepth(root.left);
        int rightDepth = minDepth(root.right);

        return Math.min(leftDepth, rightDepth) + 1;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
2025-12-04 02:00
offer1:字节跳动(北京)- 后端开发岗- 薪资:总包42w(基本工资30w+绩效6w+年终奖6w),15薪,加班费按法定标准发放- 福利:公积金按12%缴纳,无宿舍,每月住房补贴2000元,餐补1500元,每年2次体检,免费健身房- 工作强度:996是常态,忙的时候可能到凌晨,团队节奏快,压力大- 其他:平台大,技术氛围浓,晋升路径清晰,对转行选手来说履历加分多,但北京生活成本高,租房压力大offer2:美团(上海)- 客户端开发岗- 薪资:总包38w(基本工资26w+绩效5w+年终奖7w),14薪,加班无加班费,可调休- 福利:公积金按10%缴纳,无宿舍,每月住房补贴1800元,餐补800元,每年1次体检,节日福利丰富- 工作强度:995为主,偶尔周末加班,项目紧急时会通宵,整体压力中等- 其他:公司业务成熟,行业地位稳固,客户端岗位需求稳定,上海生活节奏比北京稍缓,但租房成本仍较高offer3:网易(杭州)- 测试开发岗- 薪资:总包32w(基本工资22w+绩效4w+年终奖6w),13薪,加班较少,无加班费- 福利:公积金按12%缴纳,提供员工宿舍(单人间,前两年免费,第三年按市场价5折),每月餐补1000元,每年1次体检+1次旅游补贴- 工作强度:965为主,几乎无强制加班,团队氛围轻松,摸鱼文化盛行- 其他:杭州生活成本低于北上,宿舍省房租,测试开发岗入门难度低,适合转行过渡,但技术成长速度可能不如开发岗,未来跳槽竞争力未知本人情况:传统工科转行,编程基础一般,想快速提升技术能力,同时也希望工作生活能平衡,未来不确定是否留在一线城市。有没有同款转行选手或互联网前辈给点建议呀?
森七菜:梦到什么说什么属于是
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务