100 相同的樹

2021-10-21 04:35:49 字數 1110 閱讀 2145

給你兩棵二叉樹的根節點 p 和 q ,編寫乙個函式來檢驗這兩棵樹是否相同。

如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。

示例 1:

輸入:p =[1

,2,3

], q =[1

,2,3

]輸出:true

示例 2:

輸入:p =[1

,2], q =[1

,null,2]

輸出:false

示例 3:

輸入:p =[1

,2,1

], q =[1

,1,2

]輸出:false

兩棵樹上的節點數目都在範圍 [0, 100] 內

-104 <= node.val <= 104

這是一道經典的遞迴,與之前做的一道題395. 至少有k個重複字元的最長子串相類似

相對於數列與子數列(子串),二叉樹也可以有相對應的概念,於是可以把所求樹在判斷中化為「子樹」進行縮小範圍

另外一點,對於issametree()這個函式,我們不能簡單的理解為對樹的乙個判斷,本質上它是對結點的判斷,只是遞迴的結構決定了它最終的功能

class

solution

:def

issametree

(self, p: treenode, q: treenode)

->

bool:if

not p and

not q:

return

true

elif

not p or

not q:

return

false

elif p.val != q.val:

return

false

else

:return self.issametree(p.left, q.left)

and self.issametree(p.right, q.right)

100 相同的樹

鏈結 給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 1 輸入 1 1 2 3 2 3 1,2,3 1,2,3 輸出 true示例 2 輸入 1 1 2 2 1,2 1,null,2 輸出 false示例 3 輸入 1 1 2 ...

100 相同的樹

給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 1 輸入 1 1 2 3 2 3 1,2,3 1,2,3 輸出 true思路 注釋 public boolean issametree treenode p,treenode q ...

100 相同的樹

給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 1 輸入 1 1 2 3 2 3 1,2,3 1,2,3 輸出 true 示例 2 輸入 1 1 2 2 1,2 1,null,2 輸出 false 示例 3 輸入 1 1 2 1...