力扣刷題 100 相同的樹

2021-10-13 17:36:18 字數 1511 閱讀 8189

# definition for a binary tree node.

# class treenode:

# def __init__(self, val=0, left=none, right=none):

# self.val = val

# self.left = left

# self.right = right

''' 第100題

'''class

solution

:def

issametree

(self, p: treenode, q: treenode)

->

bool

:# 前序遍歷

# if p == none and q == none:

# return true

# elif p == none or q == none:

## elif (not p) ^ (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)

# 層次遍歷

if p ==

none

and q ==

none

:return

true

elif p ==

none

or q ==

none

:return

false

queue1 = collections.deque(

[p])

queue2 = collections.deque(

[q])

while queue1 and queue2:

p = queue1.popleft(

) q = queue2.popleft(

)if p.val != q.val:

return

false

else

:# 通過異或操作判斷兩個二叉樹是否相同if(

not p.left)^(

not q.left)

:return

false

# 結構不同,返回falseif(

not p.right)^(

not q.right)

:return

false

if p.left:

# 當結構相同時,將子節點加入佇列

if q.right:

return

not queue1 and

not queue2 # 最後當兩個佇列都為空時,

力扣刷題筆記 100 相同的樹 C

今日簽到題,題目如下 給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 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...

力扣 100 相同的樹

題目描述 給你兩棵二叉樹的根節點 p 和 q 編寫乙個函式來檢驗這兩棵樹是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 1 輸入 p 1,2,3 q 1,2,3 輸出 true 示例 2 輸入 p 1,2 q 1,null,2 輸出 false definition...

每日一題力扣 100 相同的樹

給你兩棵二叉樹的根節點 p 和 q 編寫乙個函式來檢驗這兩棵樹是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 1 class solution def issametree self,p treenode,q treenode bool ifnot p and no...