目錄
一、題目內容
二、解題思路
三、**
給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。
示例 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 1 2
[1,2,1], [1,1,2]
輸出: false
# 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
class solution:
def issametree(self, p: treenode, q: treenode) -> bool:
def dfs(p, q):
if p is not none and q is not none:
if p.val == q.val:
if dfs(p.left, q.left) is false:
return false
if dfs(p.right, q.right) is false:
return false
return true
else:
return false
elif p is none and q is not none:
return false
elif p is not none and q is none:
return false
else:
return true
return dfs(p, q)
if __name__ == '__main__':
p = treenode(3)
p.left = treenode(2)
p.right = treenode(9)
p.right.left = treenode(5)
p.right.right = treenode(6)
q = treenode(3)
q.left = treenode(2)
q.right = treenode(9)
q.right.left = treenode(5)
q.right.right = treenode(6)
s = solution()
ans = s.issametree(p, q)
print(ans)
LeetCode 100 相同的樹
題目描述 給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 輸入 1 1 2 3 2 3 1,2,3 1,2,3 輸出 true輸入 1 1 2 2 1,2 1,null,2 輸出 false輸入 1 1 2 1 1 2 1,2,...
LeetCode 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 1...
leetcode100 相同的樹
給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。示例 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...