【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
相关推荐
haiyu_y2 分钟前
Day 45 预训练模型
人工智能·python·深度学习
JH灰色2 分钟前
【大模型】-Hugging Face生态
python·语言模型
【建模先锋】4 分钟前
基于CNN-SENet+SHAP分析的回归预测模型!
人工智能·python·回归·cnn·回归预测·特征可视化·shap 可视化分析
蓝色汪洋6 分钟前
数码串和oj
数据结构·算法
资深web全栈开发7 分钟前
并查集(Union-Find)套路详解
leetcode·golang·并查集·unionfind
努力学算法的蒟蒻9 分钟前
day39(12.20)——leetcode面试经典150
算法·leetcode·面试
拾贰_C13 分钟前
【python | pytorch | 】.报错怎么找到问题所在?
开发语言·pytorch·python
科学最TOP17 分钟前
xLSTM-Mixer:基于记忆混合的多变量时间序列预测
大数据·人工智能·算法·机器学习·时间序列
青铜弟弟18 分钟前
WOFOST学习笔记4
笔记·python·学习·spring·作物模型·wofost
znhy_2327 分钟前
day41打卡
python