欢乐力扣:反转链表

文章目录


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 
相关推荐
<但凡.9 分钟前
C++修炼:多态
开发语言·c++·算法
买了一束花15 分钟前
数据预处理之数据平滑处理详解
开发语言·人工智能·算法·matlab
小雅痞22 分钟前
[Java][Leetcode simple]26. 删除有序数组中的重复项
java·leetcode
YuforiaCode22 分钟前
LeetCode 热题 100 35.搜索插入位置
数据结构·算法·leetcode
Jasmine_llq2 小时前
《P4391 [BalticOI 2009] Radio Transmission 无线传输 题解》
算法·字符串·substr
水水沝淼㵘2 小时前
嵌入式开发学习日志(数据结构--单链表)Day20
c语言·开发语言·数据结构·学习·算法
算法给的安全感2 小时前
bfs-最小步数问题
java·算法·宽度优先
灏瀚星空3 小时前
地磁-惯性-视觉融合制导系统设计:现代空战导航的抗干扰解决方案
图像处理·人工智能·python·深度学习·算法·机器学习·信息与通信
田梓燊3 小时前
专业课复习笔记 7
笔记·算法
健康胡3 小时前
仿射变换 与 透视变换
图像处理·人工智能·深度学习·opencv·算法·机器学习·计算机视觉