【力扣】199:二叉樹的右視圖 | 二叉樹的層次遍歷

題目描述

給定一棵二叉樹,想象自己站在它的右側,按照從頂部到底部的順序,返回從右側所能看到的節點值。

輸入: [1,2,3,null,5,null,4]
輸出: [1, 3, 4]
解釋:

   1            <---
 /   \
2     3         <---
 \     \
  5     4       <---

算法思路

也不七想八想了,最簡單粗暴的方式應該是層次遍歷,然後保存每一層最後那個節點的值。

class Solution:
    def rightSideView(self, root: TreeNode) -> List[int]:
        res=[]
        l=[root] if root else []
        while l:
            t=[]
            for i in range(len(l)):
                r=l.pop(0)
                if r.left:t.append(r.left)
                if r.right:t.append(r.right)
            res.append(r.val)
            l=t[:]
        return res

執行用時 :44 ms, 在所有 Python3 提交中擊敗了42.62%的用戶
內存消耗 :13.7 MB, 在所有 Python3 提交中擊敗了14.29%的用戶

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章