題目分析:
給定兩個二叉樹,編寫一個函數來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認爲它們是相同的。
示例 1:
輸入:
輸出: true
示例 2:
輸入:
輸出: false
解題思路:
這一題的本質還是遍歷,我用的遞歸遍歷去判斷是否相同,我想棧應該也能解決,但是本題遞歸效率還是很高的,所以用遞歸解決問題。
提交代碼:(遞歸,Runtime: 36 ms, faster than 82.13% )
class Solution:
def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
if p == None and q == None: return True
if p and q and p.val == q.val:
return self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right)
return False
附:
- 雖然這是第100題了但是感覺自己進步一般,我相信這是個持之以恆的過程,後續也會正常刷下去的
- 很多代碼都參考了網上的(我也儘可能標記了參考博客,如有遺漏還請見諒),也有部分自己寫的和網上的重合我相信這是無法避免的
- 後面的源碼將不再寫成測試代碼,直接是提交代碼了
- 幸福並不是男子漢所該追求的,加油,與君共勉