博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode 111. 二叉树的最小深度
阅读量:4033 次
发布时间:2019-05-24

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

题目描述

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

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

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

C++

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode() : val(0), left(nullptr), right(nullptr) {} *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */ /*思路: 终止条件:走到空节点 返回什么:返回左右子树上的最小深度+1 本级递归应该做什么:求左右子树上的最小深度 */class Solution {
public: int minDepth(TreeNode* root) {
if(root==nullptr) return 0; int left=minDepth(root->left); int right=minDepth(root->right); if(left==0){
//应对只有右子树的情况 return right+1; } if(right==0){
//应对只有左子树的情况 return left+1; } return min(right,left)+1; } };

转载地址:http://gbfdi.baihongyu.com/

你可能感兴趣的文章
[LeetCode By MYSQL] Combine Two Tables
查看>>
如何打开ipynb文件
查看>>
[Leetcode BY python ]190. Reverse Bits
查看>>
Android下调用收发短信邮件等(转载)
查看>>
Android中电池信息(Battery information)的取得
查看>>
SVN客户端命令详解
查看>>
Android/Linux 内存监视
查看>>
Linux系统信息查看
查看>>
用find命令查找最近修改过的文件
查看>>
Android2.1消息应用(Messaging)源码学习笔记
查看>>
Phone双模修改涉及文件列表
查看>>
android UI小知识点
查看>>
Android之TelephonyManager类的方法详解
查看>>
android raw读取超过1M文件的方法
查看>>
ubuntu下SVN服务器安装配置
查看>>
MPMoviePlayerViewController和MPMoviePlayerController的使用
查看>>
CocoaPods实践之制作篇
查看>>
[Mac]Mac 操作系统 常见技巧
查看>>
苹果Swift编程语言入门教程【中文版】
查看>>
捕鱼忍者(ninja fishing)之游戏指南+游戏攻略+游戏体验
查看>>