欢乐力扣:反转链表

文章目录


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 
相关推荐
Fine姐1 分钟前
博弈论03——混合纳什均衡的收益求法
笔记·算法
loop lee8 分钟前
【JVM】常见的 Java 垃圾回收算法以及常见的垃圾回收器介绍及选型
java·jvm·算法
小蛋编程21 分钟前
【算法-图论】图的存储
c++·算法·图论
Maplesoft23 分钟前
符号计算与算法实践|使用Maple教授群论和图论课程
算法
今天你睡了嘛26 分钟前
数据结构——图(二、图的存储和基本操作)
数据结构·算法·图论
KyollBM26 分钟前
【CF】Day114——杂题 (贪心 + 图论 | LCM + 贪心 | 最大最小子序列 + 图论)
算法·图论
怀旧,1 小时前
【C++】1. C++基础知识
开发语言·c++·算法
Gerry_Liang2 小时前
LeetCode热题100——155. 最小栈
算法·leetcode·职场和发展
TechCampus2 小时前
小红书面试中我这样解释 KMP,面试官点头了
算法
Youndry2 小时前
验证二叉搜索树
算法