102. Binary Tree Level Order Traversal
来源:互联网 发布:travelling light知乎 编辑:程序博客网 时间:2024/06/03 13:31
- 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, level by level).
For example:
Given binary tree [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
return its level order traversal as:
[
[3],
[9,20],
[15,7]
]
做道二叉树阿Q一下。。。
题意:按层来遍历二叉树,每一层的值为一个小集合 [一层] [二层] [三层]… 最后把所有层都输出为一个大集合。
思路:首先第一个集合是root自己,这是已知的,加到res里,之后的每一个集合都是基于前一个集合来进行遍历,判断是否有左孩子右孩子,用一个temp集合来保存本次遍历的节点,遍历完前一个集合后,把所得的temp集合追加到res里,接着遍历。
刚开始只保存的节点,输出的结果很奇怪,后来又在同样位置增加用于保存value值的最终结果集numres,以及临时保存某层节点的数值的numtemp (完全跟temp在一个位置), 一个是保存节点,为了下一次的遍历;一个是保存节点的数值,为了存到最终结果。
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): def levelOrder(self, root): """ :type root: TreeNode :rtype: List[List[int]] """ #lis=[root] if root==None: return [] res=[] res.append([root]) numres=[[root.val]] i=0 while True: temp=[] numtemp=[] for node in res[i]: if node.left != None: temp.append(node.left) numtemp.append(node.left.val) if node.right != None: temp.append(node.right) numtemp.append(node.right.val) if temp==[]: return numres else: res.append(temp) numres.append(numtemp) i+=1
阅读全文
0 0
- LeetCode 102. Binary Tree Level Order Traversal
- [LeetCode]102.Binary Tree Level Order Traversal
- [Leetcode] 102. Binary Tree Level Order Traversal
- LeetCode --- 102. Binary Tree Level Order Traversal
- [leetcode] 102.Binary Tree Level Order Traversal
- 102.Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal
- 【leetcode】102. Binary Tree Level Order Traversal
- 102.Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal
- Leetcode 102. Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal LeetCode
- 102. Binary Tree Level Order Traversal
- [leetcode] 102. Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal
- 2017暑假集训 div1 DP(2)
- ubuntu16.04 + pycaffe `GLIBCXX_3.4.21' not found
- 从零开始学习laravel web(四)
- 数据采集(五):用requests模拟登陆豆瓣
- 【脚本语言系列】关于Python基础知识容器,你需要知道的事
- 102. Binary Tree Level Order Traversal
- iOS中的缓存计算和清除
- 如何理解等错误率(EER, Equal Error Rate)?
- 476. Number Complement
- 常见排序算法之快速排序
- .Net文档图像处理工具包GdPicture.NET发布v14,提供最先进的PDF和文档成像技术
- I/O多路复用之比较select&poll&epoll
- CSDN MarkDown模版 MarkDown语法,MarkDown编辑器模版
- 题目1205:N阶楼梯上楼问题