• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

637二叉树的层平均值

python 搞java代码 3年前 (2022-05-21) 12次浏览 已收录 0个评论
class TreeNode:<br>    def __init__(<a href="https://www.gaodaima.com/tag/self" title="查看更多关于self的文章" target="_blank">self</a>, x):<br>        self.val = x<br>        self.left = None<br>        self.right = None<br># 这道题还是很容易的,还是用深搜的办法,遍历每<a href="https://www.gaodaima.com/tag/%e4%b8%80%e5%b1%82" title="查看更多关于一层的文章" target="_blank">一层</a>,定义两个列表,<br># 一个用来计算每一层的和,另一个用来记每一层的个数。<br>from typing import List<br>class Solution:<br>    def averageOfLevels(self, root: TreeNode) -> List[float]:<br>        # 定义两个列表<br>        self.rep = []<br>        self.count = []<br>        self.dfs(root,0)<br>        # 求出每一层的平均值。<br>        for i in range(len(self.rep)):<br>            self.rep[i] = self.rep[i] / self.count[i]<br>        return self.rep<br>    # 定义递归函数<br>    def dfs(self,root,depth):<br>        # 如果节点为空,直接返回。<br>        if not root:<br>            return<br>        # 这里判断的是函数是否是第一次走到这一层,<br>        if len(self.rep) <= depth:<br>            # 第一次的话需要先进行在列表中添加一个数据<br>            self.rep.append(root.val)<br>            self.count.append(1)<br>        else:<br>            # 不是第一次进入这一层的话,就在原有的基础上边加上对应的数。<br>            self.rep[depth] += root.val<br>            self.count[depth] += 1         <br>        self.dfs(root.left,depth + 1)<br>        self.dfs(root.right,depth + 1)<br><br>

www#gaodaima.com来源gao!%daima.com搞$代*!码$网搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:637二叉树的层平均值
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址