leetcode 100 相同的樹

2021-10-10 00:18:40 字數 2061 閱讀 2558

目錄

一、題目內容

二、解題思路

三、**

給定兩個二叉樹,編寫乙個函式來檢驗它們是否相同。

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

示例 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...