# 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 classSolution(object): defrightSideView(self, root): """ :type root: Optional[TreeNode] :rtype: List[int] """ # 按层遍历,返回该层最后一个元素 ifnot root: return [] queue = [root] ans = [] while queue: n = len(queue) for i inrange(n): node = queue.pop(0) if node.left: queue.append(node.left) if node.right: queue.append(node.right) if i == n-1: # 最后一个元素 ans.append(node.val) return ans
classSolution(object): defrightSideView(self, root): """ :type root: Optional[TreeNode] :rtype: List[int] """ # 按层遍历,返回该层最后一个元素 ifnot root: return [] queue = deque() queue.append(root) ans = [] while queue: n = len(queue) for i inrange(n): node = queue.popleft() if node.left: queue.append(node.left) if node.right: queue.append(node.right) if i == n-1: # 最后一个元素 ans.append(node.val) return ans