博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode--111--最长公共前缀
阅读量:4966 次
发布时间:2019-06-12

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

问题描述:

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

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

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

示例:

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

3   / \  9  20    /  \   15   7

返回它的最小深度  2。

思路:

用层序遍历,发现为叶子节点时,返回其所在的层即为最小深度。

方法1:

1 class Solution(object): 2     def minDepth(self, root): 3         """ 4         :type root: TreeNode 5         :rtype: int 6         """ 7         if not root: 8             return 0 9         if not root.left and not root.right:10             return 111         last = 012         front = -113         rear = -114         level = 015         l_list=[]16         l_list.append(root)17         rear += 118         level += 119         while front < rear:        20             front += 121             p = l_list.pop(0)22             if not p.left and not p.right:23                 return level24             if p.left:25                 l_list.append(p.left)26                 rear += 127             if p.right:28                 l_list.append(p.right)29                 rear += 130             if front == last:31                 level += 132                 last = rear

方法2:(递归)当左子树为null时,高度为右子树+1,树的最小高度为左子树最小的高度+1.

1 class Solution(object): 2     def minDepth(self, root): 3         """ 4         :type root: TreeNode 5         :rtype: int 6         """ 7         if root: 8             if root.left==None: 9                 return self.minDepth(root.right)+110             elif root.right==None:11                 return self.minDepth(root.left)+112             else:13                 return min(self.minDepth(root.left),self.minDepth(root.right))+114         else:15             return 0

2018-09-10 19:23:25

转载于:https://www.cnblogs.com/NPC-assange/p/9622036.html

你可能感兴趣的文章
webapi+swagger ui 文档描述
查看>>
c++ char* 与LPCTSTR相互转化
查看>>
codevs1044 拦截导弹(最长不下降子序列dp)
查看>>
AS问题解决系列1—Unable to execute DX错误
查看>>
在线任意进制转换工具 - aTool在线工具
查看>>
创建数据库
查看>>
Spark与Spring集成做web接口
查看>>
Web jquery表格组件 JQGrid 的使用 - 11.问题研究
查看>>
Ubuntu下如何访问Windows磁盘?
查看>>
Rabbitmq安装及启动 MAC系统
查看>>
nginx location配置
查看>>
在DELPHI中动态创建控件以及控件的事件(转)配合 让FIREDAC记录数据库的异常日志...
查看>>
WordPress程序文件说明
查看>>
6.6410和210的按键中断编程
查看>>
PHP处理数组和XML之间的互相转换
查看>>
办公室文员、助理都可以学学,留着迟早用得着!
查看>>
使用httpModule做权限系统
查看>>
aiohttp异步爬虫爬取当当网最热书籍并导出excel
查看>>
奇异矩阵(转载)
查看>>
打飞机
查看>>