37. Leetcode 100. 相同的树 (二叉树-二叉树性质)
生活随笔
收集整理的這篇文章主要介紹了
37. Leetcode 100. 相同的树 (二叉树-二叉树性质)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你兩棵二叉樹的根節點 p 和 q ,編寫一個函數來檢驗這兩棵樹是否相同。如果兩個樹在結構上相同,并且節點具有相同的值,則認為它們是相同的。示例 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:# 首先比較當前的兩個節點a,b = stack.pop()# 如果a和b為空,繼續下一輪比較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)
總結
以上是生活随笔為你收集整理的37. Leetcode 100. 相同的树 (二叉树-二叉树性质)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 35. Leetcode 328. 奇偶
- 下一篇: 38. Leetcode 101. 对称