class Solution:
def rightSideView(self, root: Optional[TreeNode]) -> List[int]:
if not root: # 如果根节点为空,直接返回空列表
return []
result = [] # 初始化结果列表
queue = deque([root]) # 初始化队列,将根节点加入队列
while queue: # 当队列不为空时循环
level_size = len(queue) # 获取当前层的节点个数
for i in range(level_size): # 遍历当前层的节点
node = queue.popleft() # 弹出当前节点
if i == level_size - 1: #如果时当前层最后一个节点
result.append(node.val) # 将其值加入结果列表
if node.left: # 如果有左子节点,加入队列
queue.append(node.left)
if node.right: # 如果有右子节点,加入队列
queue.append(node.right)
return result
leetcode-二叉树的右视图
最新推荐文章于 2024-04-28 16:03:45 发布