您的位置:首页 > 编程语言 > Python开发

利用python 完成 leetcode 199 二叉树的右视图

2019-03-12 23:56 405 查看

给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

示例:

输入: [1,2,3,null,5,null,4]
输出: [1, 3, 4]
解释:

1            <---
/   \
2     3         <---
\     \
5     4       <---

思路
从上至下一层一层遍历二叉树,每层从左至右遍历当前层所有节点,将每个节点的子节点储存起来作为下一层要遍历的节点,将当前层的最后一个节点的值添加至最终结果,直到所有层遍历完毕
代码

def rightSideView(self, root):
if root==None:return []
l=[]
e=[root]
while e!=[]:
p=[]
l.append(e[-1].val)
for i in e:
if i.left:p.append(i.left)
if i.right:p.append(i.right)
e=p
return l
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: