当前位置:网站首页>Leetcode:minimum_depth_of_binary_tree解决问题的方法
Leetcode:minimum_depth_of_binary_tree解决问题的方法
2022-07-06 18:47:00 【全栈程序员站长】
大家好,又见面了,我是全栈君
一、 称号
并寻求最深的二元相似。给定的二进制树。求其最小深度。
最小深度是沿从根节点,到叶节点最短的路径。
二、 分析
当我看到这个题目时。我直接将最深二叉树的代码略微改了下,把max改成min。本以为应该没有问题,谁知道WA了两次,我静下来看了看。最终知道了,当遇到有结点为NULL时就得要结束了。所下面次再简单的题目也要静下来好好分析,不然会easy出错。
/**
* Definition for binary tree
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int minDepth(TreeNode *root) {
if(root==NULL)
return 0;
int mleft=minDepth(root->left);
int mright=minDepth(root->right);
if(mleft==0)
return 1+mright;
else if(mright==0)
return 1+mleft;
else return min(mleft,mright)+1;
}
};
二、
* Definition for binary tree
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int minDepth(TreeNode *root) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
return minRec(root);
}
int minRec( TreeNode * root) {
if(!root) return 0;
int left = minRec( root->left);
int right = minRec( root->right);
if(left && right) return 1 + min(left, right);
if(left || right) return 1+left+right;
return 1;
}
};
三、
/**
* Definition for binary tree
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public int minDepth(TreeNode root) {
// Start typing your Java solution below
// DO NOT write main() function
return minRec(root);
}
private int minRec(TreeNode root) {
if(root==null) return 0;
int l = minRec(root.left);
int r = minRec(root.right);
if(l==0) return r+1;
if(r==0) return l+1;
return Math.min(l, r) + 1;
}
}
版权声明:本文博主原创文章,博客,未经同意不得转载。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116848.html原文链接:https://javaforall.cn
边栏推荐
- 1个月增长900w+播放!总结B站顶流恰饭的2个新趋势
- Schedulx v1.4.0 and SaaS versions are released, and you can experience the advanced functions of cost reduction and efficiency increase for free!
- Application analysis of face recognition
- leetcode:736. Lisp 语法解析【花里胡哨 + 栈 + 状态enumaotu + slots】
- Draco - glTF模型压缩利器
- 投资的再思考
- argo workflows源码解析
- Introduction to FLIR blackfly s industrial camera
- 【Unity】升级版·Excel数据解析,自动创建对应C#类,自动创建ScriptableObject生成类,自动序列化Asset文件
- Real project, realized by wechat applet opening code (end)
猜你喜欢
FLIR blackfly s industrial camera: synchronous shooting of multiple cameras through external trigger
Lumion 11.0软件安装包下载及安装教程
Draco - gltf model compression tool
The mega version model of dall-e MINI has been released and is open for download
Stm32f4 --- PWM output
String or binary data will be truncated
[Mori city] random talk on GIS data (II)
TiFlash 源码阅读(四)TiFlash DDL 模块设计及实现分析
Detailed explanation of line segment tree (including tested code implementation)
FLIR blackfly s usb3 industrial camera: how to use counters and timers
随机推荐
AWS学习笔记(一)
Draco - glTF模型压缩利器
The empirical asset pricing package (EAP) can be installed through pypi
1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效
postgresql之整体查询大致过程
argo workflows源码解析
[server data recovery] data recovery case of a Dell server crash caused by raid damage
压缩 js 代码就用 terser
The boss is quarantined
Argo workflows source code analysis
Zhang Ping'an: accelerate cloud digital innovation and jointly build an industrial smart ecosystem
Untiy文本框的代码换行问题
6 seconds to understand the book to the Kindle
MFC Windows 程序设计[147]之ODBC数据库连接(附源码)
低代码平台中的数据连接方式(上)
猿桌派第三季开播在即,打开出海浪潮下的开发者新视野
Introduction to the internal structure of the data directory of PostgreSQL
强化学习如何用于医学影像?埃默里大学最新《强化学习医学影像分析》综述,阐述最新RL医学影像分析概念、应用、挑战与未来方向
Pgadmin4 of PostgreSQL graphical interface tool
unity webgl自适应网页尺寸