给定一个二叉树的 根节点 root,
想象自己站在它的右侧,
按照从顶部到底部的顺序,
返回从右侧所能看到的节点值。
解题思路:
其实就是二叉树的层序遍历,
从右看,看到的就是每一层的最后一个元素
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution(object):
def rightSideView(self, root):
res = []
if not root:
return res
queue = [root]
while queue:
res.append(queue[-1].val)
temp_queue = []
for node in queue:
if node.left:
temp_queue.append(node.left)
if node.right:
temp_queue.append(node.right)
queue = temp_queue
return res