199. 二叉树的右视图

2023.6.12
层序遍历,只保存每层最后一个元素即可:
不能简单的思考为从根节点开始一路保存右孩子

from collections import deque

class Solution:
    def rightSideView(self, root: Optional[TreeNode]) -> List[int]:
        if not root:
            return []
        queue = deque()
        queue.append(root)
        res = []
        while queue:
            size = len(queue)
            for i in range(size):
                node = queue.popleft()
                if i == size - 1 :
                    res.append(node.val)
                if node.left:
                    queue.append(node.left)
                if node.right:
                    queue.append(node.right)
        return res

你可能感兴趣的:(Notes,of,Leetcode,leetcode,算法,职场和发展)