[Leetcode][二叉樹]相關題目匯總,分析,總結

題目匯總

以下鏈接均為我博客內對應博文,有解題思路和代碼,不定時更新補充。

目前范圍:Leetcode前150題

生成二叉樹

遍歷二叉樹

前中后三種序列,遞歸都是一樣的理解。迭代的話,前后兩個可以互相理解。中序需要單獨理解。當然我認為可能我還沒有理解透徹。

這三題都是層序遍歷,沒有什么特別大的區(qū)別。層序遍歷基本都這樣,舉一反三。

  • Path Sum
    給定一個數(shù)和一棵樹,求能否有一條路徑上所有葉子結點數(shù)值加起來等于給定的數(shù)
    遞歸

  • Path Sum II
    將根到葉子的路徑和為sum的路徑都枚舉出來。
    遞歸

第二題只不過是第一題得所有可能性保存到一個數(shù)組去。

其他題目

上面兩題類似

二叉樹總結

  • leetcode的測試集經(jīng)常會有[], [0],所以很多題目先要考慮判斷是否為空,return None或者return []。

  • 遞歸和迭代
    遞歸中必有迭代,迭代未必用到遞歸
    (遞歸(浪費資源反復調用函數(shù))> 迭代)
    迭代——《明日邊緣》
    遞歸——《盜夢空間》
    遞歸是一個樹結構,每個分支都探究到最遠,發(fā)現(xiàn)無法繼續(xù)的時候往回走,每個節(jié)點只會訪問一次
    迭代是一個環(huán)結構,每次迭代都是一個圈,不會拉掉其中的某一步,然后不斷循環(huán),每個節(jié)點都會被循環(huán)訪問

  • 二叉樹在python中用法
    root.val是該節(jié)點的值。
    root則相當于指向該節(jié)點的指針。
    root.left, root.right指向其左右節(jié)點的位置

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容