leetcode刷題之樹

2021-10-09 14:28:38 字數 849 閱讀 3823

樹的三種遍歷方式 的 非遞迴版本

中序遍歷

下面的解法就是相當於 第一趟先把元素按照中序的順序進棧

第二趟 是相當於把 null標記過的位置給拿出來

class

solution

else

}return res;

}}

先序遍歷

class solution 

else

}return res;

}}

公共父節點

public treenode lowestcommonancestor

(treenode root, treenode p, treenode q)

左葉子節點之和

計算給定二叉樹的所有左葉子之和。

root.left!=null&&root.left.left==null&&root.left.right==null
滿足 左右子樹都為null 並且 是某個樹的子節點

class

solution

public

void

dfs(treenode root)

}

簡潔一點的寫法

class

solution

}

Leetcode刷題之括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 示例 4 輸入 輸出 false 示例 5 輸入 輸...

leetcode刷題之堆

今天終於開啟的第二個專題的刷題之旅堆,不過第乙個專題棧還有乙個小問題沒解決就是利用遞減棧去解決接雨水的問題,雖然那道題我用動態規劃的問題解決出來了,我記得看到過一道面試題,問棧和堆有什麼區別。通過搜尋網上的資料總結如下。棧 stack 由系統分配記憶體,速度較快,但是自己無法掌握。堆 一般用兩種方法...

leetcode刷題總結之遞迴

前言 最近刷完leetcode遞迴的專題了,無奈本人很菜,關於遞迴每次都是看大佬的題解,自己也設計不出來遞迴,今日打算從遞迴本質出發,徹底剖析遞迴。本文中的大部分遞迴思想來自 遞迴的內涵與經典應用。在數學與電腦科學中,遞迴 recursion 是指在函式的定義中使用函式自身的方法。實際上,遞迴,顧名...