当前位置: 首页 > 后端技术 > Python

力扣-0100.同一棵树[Python]

时间:2023-03-25 23:19:11 Python

LeetCode0100.同一棵树[Easy][Python][二叉树]ProblemLeetCode给定两棵二叉树,编写一个函数来检查它们是否相同。如果两个二叉树在结构上相同并且节点具有相同的值,则它们被认为是相同的。示例1:输入:11/\/\2323[1,2,3],[1,2,3]输出:true示例2:输入:11/\22[1,2],[1,null,2]Output:falseExample3:Input:11/\/\2112[1,2,1],[1,1,2]Output:false问题是扣给定的两棵二叉树,编写一个函数来检查它们是否相同。如果两棵树在结构上相同并且节点具有相同的值,则它们被认为是相同的。示例1:输入:11/\/\2323[1,2,3],[1,2,3]输出:true示例2:输入:11/\22[1,2],[1,null,2]输出:false例三:输入:11/\/\2112[1,2,1],[1,1,2]输出:false思路二叉树Python3代码#定义对于二叉树节点。#classTreeNode:#def__init__(self,x):#self.val=x#self.left=None#self.right=Noneclass解决方案:defisSameTree(self,p:TreeNode,q:TreeNode)->bool:#两棵树都为空ifnotpandnotq:returnTrue#一棵树为空,另一棵不为空elifnotpornotq:returnFalse#两棵树都不为空,但是节点值不同elifp.val!=q.val:returnFalse#分别判断左子树和右子树returnself.isSameTree(p.left,q.left)andself.isSameTree(p.right,q.right)GitHub链接Python