【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
相关推荐
Ezekiel Mok11 分钟前
基于路径长度的样条插补算法(自动驾驶和路径跟踪控制适用)
算法·matlab·自动驾驶·路径跟踪·插补
Wen.py.java16 分钟前
Python商务数据分析知识专栏(六)——Python数据分析的应用④Python数据分析实训
人工智能·python·数据分析
不死鸟.亚历山大.狼崽子18 分钟前
python库(2):Passlib库
开发语言·python
Zucker n34 分钟前
学会python——用python制作一个登录和注册窗口(python实例十八)
开发语言·python
mana飞侠34 分钟前
代码随想录算法训练营第59天:动态[1]
开发语言·数据结构·算法·动态规划
zengy538 分钟前
代码随想录打卡第十三天
数据结构·c++·算法·leetcode
Eiceblue1 小时前
Python 插入、替换、提取、或删除Excel中的图片
开发语言·vscode·python·pycharm·excel
神奇夜光杯1 小时前
Python酷库之旅-第三方库Pandas(003)
开发语言·ide·python·pandas·基础知识·学习和成长·标准库及第三方库
Leon哉1 小时前
PyCharm中如何将某个文件设置为默认运行文件
ide·python·pycharm
skyshandianxia1 小时前
Java面试八股之MySQL存储货币数据,用什么类型合适
mysql·面试·职场和发展