LeetCode 100. 相同的樹

題目

給你兩棵二叉樹的根節(jié)點(diǎn) p 和 q ,編寫一個(gè)函數(shù)來檢驗(yàn)這兩棵樹是否相同。如果兩個(gè)樹在結(jié)構(gòu)上相同,并且節(jié)點(diǎn)具有相同的值,則認(rèn)為它們是相同的。

例:
輸入:p = [1,2,3], q = [1,2,3]
輸出:true

方法:遞歸

同 101. 對稱二叉樹 思路相同,若要判斷兩棵二叉樹是否相同,那么需要判斷二兩二叉樹所有對應(yīng)位置的值是否相等

  • 若兩棵樹對應(yīng)位置的結(jié)點(diǎn)不同時(shí)存在時(shí),兩棵樹一定不相同
  • 若兩棵樹對應(yīng)位置的結(jié)點(diǎn)的值不相同時(shí),兩棵樹一定不相同
  • 當(dāng)兩棵樹對應(yīng)位置的結(jié)點(diǎn)同時(shí)存在且值相等時(shí),則繼續(xù)判斷兩個(gè)結(jié)點(diǎn)的左右孩子是否同時(shí)存在且相等或均不存在
# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):
    def isSameTree(self, p, q):
        if p == None and q != None:
            return False
        elif p != None and q == None:
            return False
        elif p == None and q == None:
            return True
        elif p.val != q.val:
            return False
        
        left = self.isSameTree(p.left, q.left)
        right = self.isSameTree(p.right, q.right)
        return left and right
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這次來寫一下 LeetCode 的第 100 題,相同的樹。 題目描述 題目直接從 LeetCode 上截圖過來,...
    碼農(nóng)UP2U閱讀 914評論 0 27
  • Same Tree 環(huán)境:python 3.6,scala 2.11.8 題意 判斷兩顆二叉樹是否相同(結(jié)構(gòu)相同 ...
    電飯鍋娃兒閱讀 271評論 0 1
  • 100. 相同的樹 題目來源:力扣(LeetCode)https://leetcode-cn.com/proble...
    大夢三千秋閱讀 426評論 0 1
  • 題目描述 給定兩個(gè)二叉樹,編寫一個(gè)函數(shù)來檢驗(yàn)它們是否相同。 如果兩個(gè)樹在結(jié)構(gòu)上相同,并且節(jié)點(diǎn)具有相同的值,則認(rèn)為它...
    youzhihua閱讀 175評論 0 0
  • 給定兩個(gè)二叉樹,編寫一個(gè)函數(shù)來檢驗(yàn)它們是否相同。如果兩個(gè)樹在結(jié)構(gòu)上相同,并且節(jié)點(diǎn)具有相同的值,則認(rèn)為它們是相同的。 C
    餅干不干閱讀 427評論 0 50

友情鏈接更多精彩內(nèi)容