Leetcode 树(102, 637)
class Solution(object):
def averageOfLevels(self, root):
"""
:type root: TreeNode
:rtype: List[float]
实现方法:
设置两个数组,一个用于记录每层树的总和,一颗树记录每层树的节点个数;
"""
sum=[0.0 for i in range(1000)]
count=[0.0 for i in range(10000)] num=0
def all(root,num):
if root:
sum[num]=sum[num]+root.val
count[num]=1+count[num]
all(root.left,num+1)
all(root.right,num+1) all(root,num) res=[] for i in range(len(sum)):
if count[i]!=0:
res.append(sum[i]/count[i]) return res
def levelOrder(self, root):
"""
:type root: TreeNode
:rtype: List[List[int]]
"""
result=[] def all(root,level):
if root:
if len(result)<level+1:
result.append([])
result[level].append(root.val)
all(root.left,level+1)
all(root.right,level+1) all(root,0)
return result
Leetcode 树(102, 637)的更多相关文章
- LeetCode树专题
LeetCode树专题 98. 验证二叉搜索树 二叉搜索树,每个结点的值都有一个范围 /** * Definition for a binary tree node. * struct TreeNod ...
- leetcode 树类型题
树的测试框架: // leetcodeTree.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream& ...
- leetcode: 树
1. sum-root-to-leaf-numbers Given a binary tree containing digits from0-9only, each root-to-leaf pat ...
- [leetcode] 树 -Ⅰ
均为 Simple 难度的水题. 二叉树的中序遍历 题目[94]:给定一个二叉树,返回它的中序 遍历. 解题思路:Too simple. class Solution { public: vector ...
- [leetcode] 树(Ⅱ)
All questions are simple level. Construct String from Binary Tree Question[606]:You need to construc ...
- 【LeetCode】102 - Binary Tree Level Order Traversal
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...
- 【一天一道LeetCode】#102. Binary Tree Level Order Traversal
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 来源: htt ...
- leetcode树专题894.897,919,951
满二叉树是一类二叉树,其中每个结点恰好有 0 或 2 个子结点. 返回包含 N 个结点的所有可能满二叉树的列表. 答案的每个元素都是一个可能树的根结点. 答案中每个树的每个结点都必须有 node.va ...
- leetcode 树的锯齿形状遍历
二叉树的锯齿形层次遍历 给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如:给定二叉树 [3,9,20,null,n ...
随机推荐
- oc与c语言的相互调用
一:OC调用C语言 C语言的.h文件 // // TestPrint.h // TestDemo // // Created by Techsun on 14-8-12. // Copyright ( ...
- c语言,以单词为单位逆序字符串
#include "string.h" #include "stdio.h" char * nixu(char *c) { ; int n = strlen(c ...
- 减少xcode错误输出
运行xcrun相关命令如果出现找不到对应模块和工具,要确认一下在xcode中命令行工具是否正确设置了 xcrun simctl spawn booted log config --mode " ...
- STM32 STOP模式唤醒后的时钟
进了STOP模式后,PLL停掉了,所以,如果开始的时钟配置,用的是PLL,那么唤醒后,需要重新配置RCC. 如果使用的是PLL,及时是用MSI作为时钟源,放大出来的,比如4M的MSI,PLL放大到48 ...
- mysql 储存过程
存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程cr ...
- Building gRPC Client iOS Swift Note Taking App
gRPC is an universal remote procedure call framework developed by Google that has been gaining inter ...
- 洛谷P4204 [NOI2006]神奇口袋 数论
正解:数论 解题报告: 传送门 第一次用\(\LaTeX\)和\(markdown\),,,如果出了什么锅麻烦在评论跟我港句QAQ \(1)x_{i}\)可以直接离散 \(2)y_{i}\)的顺序对结 ...
- gdb调试原理及qemu中的gdbserver
(一)gdb调试原理 此部分转自:https://blog.csdn.net/u012658346/article/details/51159971 https://www.cnblogs.c ...
- Android系统架构与系统源码目录
前言 技术博客终于可以恢复正常的更新速度了,原因是我编写的进阶书籍的初稿已经完成,窃以为它将会是Android应用书籍中最有深度的一本,可以说是<Android开发艺术探索>的姊妹篇.在这 ...
- Django---框架简介和工程搭建
Django框架 一.Django介绍 二.Django工程搭建 回到顶部 一.Django介绍 1.简介 Django的主要目的是简便.快速的开发数据库驱动的网站.它强调代码复用,多个组件可以 ...