37. Leetcode 100. 相同的树 (二叉树-二叉树性质)
生活随笔
收集整理的這篇文章主要介紹了
37. Leetcode 100. 相同的树 (二叉树-二叉树性质)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給你兩棵二叉樹的根節(jié)點(diǎn) p 和 q ,編寫一個(gè)函數(shù)來檢驗(yàn)這兩棵樹是否相同。如果兩個(gè)樹在結(jié)構(gòu)上相同,并且節(jié)點(diǎn)具有相同的值,則認(rèn)為它們是相同的。示例 1:輸入:p = [1,2,3], q = [1,2,3]
輸出:true
示例 2:輸入:p = [1,2], q = [1,null,2]
輸出:false
示例 3:輸入:p = [1,2,1], q = [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:# 迭代stack = [(p,q)]while stack:# 首先比較當(dāng)前的兩個(gè)節(jié)點(diǎn)a,b = stack.pop()# 如果a和b為空,繼續(xù)下一輪比較if not (a or b):continueif a and b and a.val == b.val:stack.append((a.left, b.left))stack.append((a.right, b.right))else:return Falsereturn True# 遞歸# if p == None and q == None:# return True# if p == None or q == None:# return False# if p.val != q.val:# return False# return self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right)
總結(jié)
以上是生活随笔為你收集整理的37. Leetcode 100. 相同的树 (二叉树-二叉树性质)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 35. Leetcode 328. 奇偶
- 下一篇: 38. Leetcode 101. 对称