相同的树Python解法
生活随笔
收集整理的這篇文章主要介紹了
相同的树Python解法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你兩棵二叉樹的根節點 p 和 q ,編寫一個函數來檢驗這兩棵樹是否相同。
如果兩個樹在結構上相同,并且節點具有相同的值,則認為它們是相同的。
例:
輸入:p = [1,2,3], q = [1,2,3] 輸出:true解析:
樹的遍歷一般還是遞歸,先左后右,比較根節點的值,相同為True,不同為False。都沒有為True,一個有一個沒有為False。有子節點則遞歸繼續比較。
# 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):""":type p: TreeNode:type q: TreeNode:rtype: bool"""if not p and not q: # 判空return Trueelif p is not None and q is not None: # 都不為空if p.val == q.val:return self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right) # 遞歸遍歷else: # 值不同直接返回Falsereturn Falseelse: # 一個為空,一個不為空return False在需要遍歷值時,返回列表,而這種判斷時,直接將遞歸函數寫在return里面,可以直接判斷。
總結
以上是生活随笔為你收集整理的相同的树Python解法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国产科幻电影《流浪地球 2》将于 5 月
- 下一篇: 不同的二叉搜索树 IIPython解法