当前位置: 首页 > news >正文

一天两道力扣(1)

解法1:

class Solution(object):def getIntersectionNode(self, headA, headB):A, B = headA, headBwhile(A != B):A = A.next if A else headBB = B.next if B else headA return A

解析:简单来说就是两个人同时走路,相遇的点就是交叉点,因为相遇了就说明路程一样,两次循环找到交叉点。

解法2:

class Solution(object):def getIntersectionNode(self, headA, headB):s = set()p, q = headA, headBwhile p:s.add(p)p = p.nextwhile q:if q in s:return qq = q.nextreturn None

解析:先将链表A放在哈希表里面,然后遍历B将其逐个与哈希表对比。

解法3:

class Solution(object):def getIntersectionNode(self, headA, headB):s1, s2 = [], []p, q = headA, headBwhile p:s1.append(p)p = p.nextwhile q:s2.append(q)q = q.nextans = Nonei, j = len(s1) - 1, len(s2) - 1while i >= 0 and j >= 0 and s1[i] == s2[j]:ans = s1[i]i, j = i - 1, j - 1return ans

解析:用栈先进后出的思想,倒着对比,直到找到不一样的地方。

 解法4:

class Solution(object):def getIntersectionNode(self, headA, headB):s1, s2 = 0, 0p, q = headA, headBwhile p:p = p.nexts1 += 1while q:q = q.nexts2 += 1p, q = headA, headBfor i in range(s1 - s2):p = p.nextfor i in range(s2 - s1):q = q.nextwhile p and q and p != q:p = p.nextq = q.nextreturn p

解析:谁长谁先遍历。先遍历到相同长度,然后直接对比就好了。

class Solution(object):def lowestCommonAncestor(self, root, p, q):if not root or root == p or root == q: return rootleft = self.lowestCommonAncestor(root.left, p, q)right = self.lowestCommonAncestor(root.right, p, q)if not left and not right: returnif not right: return leftif not left: return rightreturn root

 

http://www.dtcms.com/a/265898.html

相关文章:

  • Linux多线程(十二)之【生产者消费者模型】
  • “Payload document size is larger than maximum of 16793600.“问题解决(MongoDB)
  • Kettle数据抽取(十一)作业-邮件
  • 什么是码率?剪映中如何选择适合的视频码率
  • C++(std::sort)
  • js-cookie详细介绍
  • Node.js与Webpack
  • 2025年6月:技术探索与生活平衡的协奏曲
  • 目标检测:从基础原理到前沿技术全面解析
  • 架构师的“降维打击”:用桥接模式,把 N*M 的问题变成 N+M
  • Matplotlib 安装使用教程
  • 【Git】同时在本地使用多个github账号进行github仓库管理
  • C++ 网络编程(14) asio多线程模型IOThreadPool
  • 【数据结构】树的基本操作
  • 阿里云服务网格ASM实践
  • 抗辐照芯片在核电厂火灾探测器中的应用优势与性能解析
  • springMvc的简单使用:要求在浏览器发起请求,由springMVC接受请求并响应,将个人简历信息展示到浏览器
  • Java 原生 HTTP Client
  • https如何利用工具ssl证书;使用自己生成的证书
  • http、SSL、TLS、https、证书
  • 【交互设计】UI 与 UX 简介:从核心概念到行业实践
  • 微算法科技(NASDAQ MLGO)基于量子图像处理的边缘检测算法:开拓图像分析新视野
  • [2025CVPR]SEEN-DA:基于语义熵引导的领域感知注意力机制
  • 通过观看数百个外科手术视频讲座来学习多模态表征|文献速递-最新论文分享
  • 【数据结构】哈希——闭散列/开散列模拟实现(C++)
  • [论文阅读] 人工智能 | 在非CUDA硬件上运行几何学习:基于Intel Gaudi-v2 HPU的PyTorch框架移植实践
  • Stable Diffusion 项目实战落地:AI照片修复 第一篇 从黑白到彩色:用AI给照片上色的魔法之旅
  • stm32f103c8t6---ymodem协议串口IAP升级(只教怎么操作,略讲原理,100%成功!)
  • laravel基础:隐式模型绑定的用法和介绍
  • 【AI】大语言模型(LLM) NLP