欢乐力扣:反转链表

文章目录


1、题目描述

反转链表

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

2、思路

借助cur指针和pre双指针来调整链表的前后指向。

python 复制代码
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
        # 反转链表
        cur = head 
        pre = None 
        while cur:
            tmp = cur.next   # step2: 考虑到先存储后续节点
            cur.next = pre   # step1: 关键:修改指向
            pre = cur        # step3: 在cur变更之前,你得先调整pre的节点
            cur = tmp        # step4: 将tmp更新cur节点
        return pre           # 此时cur已经指向了None 
相关推荐
夏日听雨眠3 分钟前
数据结构(单循环链表)
数据结构·链表
智算菩萨6 分钟前
【How Far Are We From AGI】4 AGI的“生理系统“——从算法架构到算力基座的工程革命
论文阅读·人工智能·深度学习·算法·ai·架构·agi
福赖9 分钟前
《算法:生产车间》
算法
alphaTao17 分钟前
LeetCode 每日一题 2026/3/16-2026/3/22
linux·windows·leetcode
空空潍17 分钟前
LeetCode力扣 hot100一刷完结
算法·leetcode
leaves falling20 分钟前
搜索插入位置(第一个≥target的位置)
算法
lcreek20 分钟前
LeetCode 1162.地图分析
算法·leetcode·bfs
寒月小酒23 分钟前
3.20 OJ
算法
AI科技星27 分钟前
基于空间光速螺旋归一化的动力学方程推导与数值验证
人工智能·线性代数·算法·机器学习·平面