【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
相关推荐
至此流年莫相忘14 小时前
Python之深拷贝和浅拷贝
python
FAFU_kyp14 小时前
Rust 的 引用与借用
开发语言·算法·rust
永远都不秃头的程序员(互关)14 小时前
【K-Means深度探索(一)】数据炼金术第一步:从零手撕K-Means聚类算法
算法·kmeans·聚类
像风一样自由202014 小时前
XGBoost、LightGBM、CatBoost 原理深度剖析与全面对比
python
我想回家种地14 小时前
算法期末复习
算法
用户2308266766514 小时前
Python的管道符(|)联合类型语法糖
python
东木月14 小时前
使用python获取Windows产品标签
开发语言·windows·python
AIFQuant14 小时前
2026 越南证券交易所(VN30, HOSE)API 接口指南
大数据·后端·python·金融·restful
rgeshfgreh14 小时前
MPPI算法实战:运动规划新利器
算法
Xの哲學14 小时前
Linux epoll 深度剖析: 从设计哲学到底层实现
linux·服务器·网络·算法·边缘计算