蓝桥12

一力扣题目160

在这里插入图片描述

  • 类比环形链表的思路
    (1)当A走到尾部的Null的时候,转到B链表的头节点继续走
    (2)当B走到尾部的Null的时候,转到B链表的头节点继续走
  • 值得注意的是,如图所示,无论是相交还是不相交,对于无环的链表来说,都一定会相遇,因此不会死循环。

class Solution:
    def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> ListNode:
        if headA == None or headB == None:
            return None
        a, b = headA, headB
        while(a != b):
            if a==None:
                a = headB
            else:
                a = a.next
            if b==None:
                b = headA
            else:
                b = b.next
        return a

二力扣题目169

在这里插入图片描述

  • 我们只需要建立一个字典,用数字当作key,value当作次数。就可以建立字典的结构实现遍历,只要最后遍历结果中返回最大次数的建就可以
class Solution:
    def majorityElement(self, nums: List[int]) -> int:
        dic={}
        for i in nums:
            if i in dic:
                dic[i]+=1
                
                    
            else:
                dic[i]=1
        return max(dic.keys(), key=lambda x: dic[x])

三力扣题目205

在这里插入图片描述

  • 解压合并可以实现列表的转置,或者矩阵的转置,根据我第8天的旋转矩阵思路,运用解压zip函数,对他们进行转置,如果有非同构的,那么解压并压缩的res结果一定有长度不同的元素
class Solution:
    def isIsomorphic(self, s: str, t: str) -> bool:
        res = zip(*set(zip(s, t)))
        for i in res:
            if len(i) != len(set(i)):
                return False
        return True

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值