博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode Minimum Depth of Binary Tree
阅读量:6818 次
发布时间:2019-06-26

本文共 1064 字,大约阅读时间需要 3 分钟。

Given a binary tree, find its minimum depth.

The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.

 

to see which companies asked this question

 

刚开始写的代码是这样的。

if(root==NULL) return 0;        return min(mindeep(root->right)+1,mindeep(root->left)+1);

看出问题了吧,这段代码“看上去”是正确的,但是对于这种结构

1             /             2
5             / \            4   8           /     \          11      4 对于以上两种结构都是计算错误,因为第一种结构它把根节点自己也看做一条路径,这样是不对的。 所以要做判断,当根节点只有一条路径的时候,只计算一条路径的长度,而不是继续选最小了。
/** * Definition for a binary tree node. * 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;        if(root->left&&root->right) return min(minDepth(root->left)+1,minDepth(root->right)+1);        else if(root->left==NULL||root->right==NULL) return max(minDepth(root->right)+1,minDepth(root->left)+1);    }};
 

 

 

转载于:https://www.cnblogs.com/LUO77/p/5032827.html

你可能感兴趣的文章
比萨斜塔——统计显著性检验
查看>>
如何写一份优秀的java程序员简历
查看>>
java 解析pdm文档
查看>>
我是怎样自学 Android 的?
查看>>
jquery ajax异步提交表单数据的方法
查看>>
JavaScript-MD5加密
查看>>
Hibernate入门这一篇就够了
查看>>
eclipse项目中.classpath文件详解
查看>>
第3章 Python基础-文件操作&函数 文件操作 练习题
查看>>
D3.js系列——布局:打包图和地图
查看>>
003-Go初探Iris
查看>>
Spark(一): 基本架构及原理
查看>>
ASPNETCOREAPI 跨域处理 SQL 语句拼接 多条件分页查询 ASPNET CORE 核心 通过依赖注入(注入服务)...
查看>>
微信小程序录音实现
查看>>
remove namespace from xml config file
查看>>
<转>从SRCNN到EDSR,总结深度学习端到端超分辨率方法发展历程
查看>>
excel 获取中文拼音首字母
查看>>
Mvvm简介
查看>>
云态势感知产品 - 沙箱高级威胁检测
查看>>
Window配置Redis环境和简单使用
查看>>