当前位置:网站首页>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
边栏推荐
- Web3对法律的需求
- 1--新唐nuc980 NUC980移植 UBOOT,从外部mx25l启动
- How do I dump SoapClient requests for debugging- How to dump SoapClient request for debug?
- [server data recovery] data recovery case of a Dell server crash caused by raid damage
- unity webgl自适应网页尺寸
- [paper reading | deep reading] rolne: improving the quality of network embedding with structural role proximity
- Recommended collection!! Which is the best flutter status management plug-in? Please look at the ranking list of yard farmers on the island!
- Detailed explanation of line segment tree (including tested code implementation)
- postgresql之整体查询大致过程
- 张平安:加快云上数字创新,共建产业智慧生态
猜你喜欢
1--新唐nuc980 NUC980移植 UBOOT,从外部mx25l启动
本周 火火火火 的开源项目!
Lumion 11.0软件安装包下载及安装教程
leetcode:736. LISP syntax parsing [flowery + stack + status enumaotu + slots]
A new path for enterprise mid Platform Construction -- low code platform
人脸识别应用解析
建议收藏!!Flutter状态管理插件哪家强?请看岛上码农的排行榜!
postgresql之integerset
建議收藏!!Flutter狀態管理插件哪家强?請看島上碼農的排行榜!
AWS学习笔记(一)
随机推荐
Recommended collection!! Which is the best flutter status management plug-in? Please look at the ranking list of yard farmers on the island!
unity webgl自适应网页尺寸
低代码平台中的数据连接方式(上)
人脸识别应用解析
机器人队伍学习方法,实现8.8倍的人力回报
C语言练习题_1
A new path for enterprise mid Platform Construction -- low code platform
[paper reading | deep reading] rolne: improving the quality of network embedding with structural role proximity
【论文阅读|深读】DNGR:Deep Neural Networks for Learning Graph Representations
Zhang Ping'an: accelerate cloud digital innovation and jointly build an industrial smart ecosystem
What to do when encountering slow SQL? (next)
Lumion 11.0软件安装包下载及安装教程
C#/VB.NET 删除Word文檔中的水印
unity 自定义webgl打包模板
遇到慢SQL该怎么办?(下)
4 -- Xintang nuc980 mount initramfs NFS file system
Decryption function calculates "task state and lifecycle management" of asynchronous task capability
[unity notes] screen coordinates to ugui coordinates
Metaforce force meta universe development and construction - fossage 2.0 system development
fiddler的使用