力扣111 9.6

111.二叉树的最小深度

练个手,我写的有点复杂,if语句要考虑到不同情况。不算难嗷,正常递归。

class Solution {

public int minDepth(TreeNode root) {

return dfs(root);

}

int dfs(TreeNode root){ if(root!=null&&root.left==null&&root.right==null){

return 1;

}

if(root==null){

return 0;

}

if(root.left!=null&&root.right!=null)

return Math.min(1+dfs(root.left),1+dfs(root.right));

else if(root.left!=null&&root.right==null)

return 1+dfs(root.left);

else if(root.right!=null&&root.left==null)

return 1+dfs(root.right);

return 0;

++好像是Java语法要求必须要有个return。++

}

}

相关推荐
灵感__idea3 小时前
Hello 算法:贪心的世界
前端·javascript·算法
camellias_4 小时前
【无标题】
java·tomcat
咸鱼2.05 小时前
【java入门到放弃】需要背诵
java·开发语言
澈2075 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
椰猫子5 小时前
Java:异常(exception)
java·开发语言
ambition202425 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
cmpxr_5 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
qiqsevenqiqiqiqi5 小时前
前缀和差分
算法·图论
代码旅人ing5 小时前
链表算法刷题指南
数据结构·算法·链表
Yungoal5 小时前
常见 时间复杂度计算
c++·算法