【LeetCode】每日一题:反转链表

题解思路

循环的方法需要注意prev应该是None开始,然后到结束的时候prev是tail,递归的思路很难绕过弯来,主要在于很难想清楚为什么可以返回尾节点,需要多做递归题,以及递归过程中,可以不使用尾节点来找当前递归位置,用head结点即可,多用边界情况推理。

AC代码

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]:
        # if not head or head.next is None:
        #     return head
        # newhead = self.reverseList(head.next)
        # head.next.next = head
        # head.next = None
        # return newhead

        prev = None
        curr = head
        while curr:
            temp = curr.next
            curr.next = prev
            prev = curr
            curr = temp
        return prev
相关推荐
莫有杯子的龙潭峡谷2 分钟前
4.15 代码随想录第四十四天打卡
c++·算法
A懿轩A16 分钟前
2025年十六届蓝桥杯Python B组原题及代码解析
python·算法·蓝桥杯·idle·b组
灋✘逞_兇19 分钟前
快速幂+公共父节点
数据结构·c++·算法·leetcode
程序媛徐师姐22 分钟前
Python Django基于协同过滤算法的招聘信息推荐系统【附源码、文档说明】
python·django·协同过滤算法·招聘信息推荐系统·招聘信息·python招聘信息推荐系统·python招聘信息
2401_8906658640 分钟前
免费送源码:Java+ssm+MySQL 基于PHP在线考试系统的设计与实现 计算机毕业设计原创定制
java·hadoop·spring boot·python·mysql·spring cloud·php
姜行运1 小时前
每日算法(双指针算法)(Day 1)
c++·算法·c#
xuemenghan1 小时前
Numba 从零基础到实战:解锁 Python 性能新境界
开发语言·python
stoneSkySpace1 小时前
算法——BFS
前端·javascript·算法
明月看潮生1 小时前
青少年编程与数学 02-016 Python数据结构与算法 22课题、并行算法
开发语言·python·青少年编程·并行计算·编程与数学
明月看潮生1 小时前
青少年编程与数学 02-016 Python数据结构与算法 20课题、几何算法
python·算法·青少年编程·编程与数学