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

力扣-链表相关题 持续更新中。。。。。。

一.相交链表

1.题目

160. 相交链表 - 力扣(LeetCode)

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。

图示两个链表在节点 c1 开始相交

 

2.题解 

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = Noneclass Solution(object):def getIntersectionNode(self, headA, headB):""":type head1, head1: ListNode:rtype: ListNode"""pA=headApB=headBwhile pA!=pB:pA=pA.next if pA else headBpB=pB.next if pB else headAreturn pA

二.反转链表

1.题目

206. 反转链表 - 力扣(LeetCode)

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

示例 1:

输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]

2.题解

 方法一:笨方法 反转存储到列表里,再根据这个列表新建一个链表

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution(object):def reverseList(self, head):""":type head: Optional[ListNode]:rtype: Optional[ListNode]"""vals=[]pA=headwhile pA:vals.append(pA.val)pA=pA.nextvals=vals[::-1]if not vals:#避免空值导致后面访问空值越界return Nonedummy=ListNode(vals[0])#创建第一个节点head2=dummy #创建头指针for val in vals[1:]:#从第一个值开始而不是第0个head2.next=ListNode(val)head2=head2.nextreturn dummy

方法二:直接反转链表方向 (头插)

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution(object):def reverseList(self, head):""":type head: Optional[ListNode]:rtype: Optional[ListNode]"""pre=Nonecur=headwhile cur:nxt=cur.nextcur.next=prepre=curcur=nxtreturn pre

三.判断回文链表

1.题目

234. 回文链表 - 力扣(LeetCode)

给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。

示例 1:

输入:head = [1,2,2,1]
输出:true

2.题解

回文链表反转存储在列表【】中

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution(object):def isPalindrome(self, head):""":type head: Optional[ListNode]:rtype: bool"""vals=[]while head:vals.append(head.val)head=head.nextreturn vals==vals[::-1]

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

相关文章:

  • 手写 防抖函数、节流函数
  • 【企业APP上架小米应用商店需要做的准备】(本示例为uniapp开发)
  • LLM评测框架Ragas:SQL指标(解决了Ollama推理框架不支持的问题)
  • oracle查询数据结构滤涉及的sql语句
  • 程序是如何生成的-以c语言为例
  • 行内元素垂直边距为何失效?
  • Vite:下一代前端构建工具的革命
  • 金仓数据库风云
  • 基于JAVA实现基于“obj--html--pdf” 的PDF格式文本生成
  • C语言第二章分支与循环(下)——猜数字游戏
  • 【深度解析】从AWS re_Invent 2025看云原生技术发展趋势
  • AWS RDS 排查性能问题
  • RedisJSON 指令精讲JSON.TOGGLE 键翻转布尔值
  • 聊聊 iframe:网页中的“窗口”是怎么回事?
  • Vue3 学习教程,从入门到精通,Vue3 循环语句(`v-for`)语法知识点与案例详解(13)
  • rabbitmq 03
  • 《3D printed deformable sensors》论文解读
  • 【初识数据结构】CS61B 中的堆以及堆排序算法
  • 矩阵SVD分解计算
  • 今日Github热门仓库推荐 第八期
  • 3ds Max 云端渲染插件 - 完整 Python 解决方案
  • 锟斤拷与烫烫烫:中文编程界的独特印记
  • Go语言切片(Slice)与数组(Array)深度解析:避坑指南与最佳实践
  • Go语言实战案例-遍历目录下所有文件
  • Go 的第一类对象与闭包
  • 基于单片机智能衣柜/智能衣橱设计
  • Go 并发(协程,通道,锁,协程控制)
  • 【Unity开发】坦克大战项目实现总结
  • Golang避免主协程退出方案
  • GoLang教程007:打印空心金字塔