首页 > 其他分享 >100. 相同的树

100. 相同的树

时间:2023-12-06 15:13:12浏览次数:31  
标签:None right return 相同 val self 100 left

目录

题目

  • 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。

    如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

题解

# 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: Optional[TreeNode], q: Optional[TreeNode]) -> bool:
        #空树返回true
        if p is None and q is None:
            return True
        #两个树只有一个为空时
        if (p == None and q != None) or (p != None and 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)

标签:None,right,return,相同,val,self,100,left
From: https://www.cnblogs.com/lushuang55/p/17879581.html

相关文章

  • [LeetCode Hot 100] LeetCode73. 矩阵置零
    题目描述思路一:开辟两个数组,时间复杂度O(m+n)开辟两个数组用来记录哪些行、哪些列需要置为零。这样时间复杂度为O(m+n)。思路二:原地算法:不适用额外空间或者说常数级空间来实现算法。类似于使用set保存每行每列是否需要置零,方法一:对应思路一classSolution{publ......
  • 初中英语优秀范文100篇-018My Summer Holiday-我的暑假
    PDF格式公众号回复关键字:SHCZFW018记忆树1MyfamilyandIwenttoHongKongtospendourholidaythissummer.翻译我和我的家人这个夏天去了香港度假简化记忆香港句子结构这个句子的结构可以分为以下几部分:主语:MyfamilyandI(我和我的家人)谓语动词:went(去)宾......
  • [LeetCode Hot 100] LeetCode19. 删除链表的倒数第N个结点
    题目描述思路一:采用两次遍历第一遍遍历先获取链表的长度length第二次从dummy节点开始走length-n步然后将该节点指向下下个节点思路二:采用一次遍历设置虚拟节点dummyHead指向head设定双指针p和q,初始都指向虚拟节点dummyHead移动q,直到p与q之间相隔的元素个数为n(即q走......
  • 100MB缓存新神U!AMD锐龙7 5700X3D蓄势待发
    AMD将在2024年第一季度发布新款锐龙75700X3D,这也将是3D缓存家族最便宜的零售型号。锐龙75800X3D作为首款3D缓存处理器,一炮打响,成为主流游戏玩家的最佳选择。Zen4时代,AMD一口气推出了锐龙97950X3D/7900X3D、锐龙77800X3D,但定位和价格都更高了。AMD虽然后来增加了锐龙55600X......
  • 两台服务器千兆,交换机也是千兆,可是传输只有100mbps?
    如果您的服务器和交换机都支持千兆传输速度,但实际传输速度只有100mbps,可能有以下几个原因:网络电缆问题:请确保使用的网线是千兆以太网(GigabitEthernet)标准的,并且没有损坏或松动。有时,低质量或老化的网线可能无法支持千兆传输速度。网络适配器设置问题:确保服务器上的网络适配器已正......
  • [LeetCode Hot 100] LeetCode21. 合并两个有序链表
    题目描述思路:新建dummy去"穿针引线"新建一个dummy节点去"穿针引线"注意最后返回的是dummy.next方法一:/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this......
  • [LeetCode Hot 100] LeetCode234. 回文链表
    题目描述思路1:将值复制到数组中然后使用双指针计算链表的长度创建等长的数组将链表中的数依次放入数组中使用左右指针判断链表是否是回文链表时间复杂度:O(n)空间复杂度:O(n)思路2:快慢指针+反转链表用快慢指针,快指针走两步,慢指针走一步,快指针遇到终止位置时,慢指针就在......
  • [LeetCode Hot 100] LeetCode206. 反转链表
    题目描述思路:双指针算法方法一:/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){this.val=v......
  • [LeetCode Hot 100] LeetCode49. 字母异位词
    题目描述思路:哈希表对字符串排序,如果是异位词,排序后就变成一样的了。方法一:classSolution{publicList<List<String>>groupAnagrams(String[]strs){Map<String,List<String>>map=newHashMap<>();for(inti=0;i<strs.length;i......
  • [LeetCode Hot 100] LeetCode141. 环形链表
    题目描述思路:快慢指针slow指针:每次移动一个节点fast指针:每次移动两个节点如果链表中存在环,fast指针最终会在某一时刻追上slow指针,这是由于移动速度快的fast指针会在某个时刻绕圈并追上速度慢的slow指针条件fast!=null&&fast.next!=null保证了在每一步迭代中,fast和......