博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode(111):二叉树的最小深度
阅读量:5249 次
发布时间:2019-06-14

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

Easy!

题目描述:

给定一个二叉树,找出其最小深度。

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

说明: 叶子节点是指没有子节点的节点。

示例:

给定二叉树 [3,9,20,null,null,15,7],

3   / \  9  20    /  \   15   7

返回它的最小深度  2.

解题思路:

二叉树的经典问题之最小深度问题就是就最短路径的节点个数,还是用深度优先搜索DFS来完成,万能的递归啊。。。请看代码。

C++解法一:

1 /** 2  * Definition for binary tree 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 class Solution {11 public:12     int minDepth(TreeNode *root) {13         if (root == NULL) return 0;14         if (root->left == NULL && root->right == NULL) return 1;15         16         if (root->left == NULL) return minDepth(root->right) + 1;17         else if (root->right == NULL) return minDepth(root->left) + 1;18         else return 1 + min(minDepth(root->left), minDepth(root->right));19     }20     21 };

 

转载于:https://www.cnblogs.com/ariel-dreamland/p/9162506.html

你可能感兴趣的文章
关于本博客说明
查看>>
线程androidAndroid ConditionVariable的用法
查看>>
stap-prep 需要安装那些内核符号
查看>>
转载:ASP.NET Core 在 JSON 文件中配置依赖注入
查看>>
socket初识
查看>>
磁盘测试工具
查看>>
代码变量、函数命名神奇网站
查看>>
redis cli命令
查看>>
Problem B: 占点游戏
查看>>
python常用模块之sys, os, random
查看>>
HDU 2548 A strange lift
查看>>
Linux服务器在外地,如何用eclipse连接hdfs
查看>>
react双组件传值和传参
查看>>
[Kaggle] Sentiment Analysis on Movie Reviews
查看>>
价值观
查看>>
mongodb命令----批量更改文档字段名
查看>>
CentOS 简单命令
查看>>
使用 SharedPreferences 分类: Andro...
查看>>
TLA+(待续...)
查看>>
题解: [GXOI/GZOI2019]与或和
查看>>