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. 对称