题目链接: https://leetcode-cn.com/problems/binary-tree-right-side-view/submissions/.
class Solution(object):
def rightSideView(self, root):
"""
:type root: TreeNode
:rtype: List[int]
"""
if not root:
return []
result = []
queue = [root]
while len(queue) > 0:
tmp_size = len(queue)
result.append(queue[-1].val)
for i in range(tmp_size):
tmp = queue.pop(0)
if tmp.left:
queue.append(tmp.left)
if tmp.right:
queue.append(tmp.right)
return result
思路与二叉树的层序遍历基本相似,最终结果记录Queue的最后一个值