# 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...