【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
相关推荐
weixin_395448912 分钟前
main.c_cursor_0130
前端·网络·算法
半壶清水39 分钟前
[软考网规考点笔记]-操作系统核心知识及历年真题解析
网络·网络协议·算法
Tansmjs1 小时前
实时数据可视化库
开发语言·c++·算法
WBluuue1 小时前
Codeforces 1075 Div2(ABC1C2D1D2)
c++·算法
圣保罗的大教堂1 小时前
leetcode 3650. 边反转的最小路径总成本 中等
leetcode
我什么都学不会1 小时前
Python练习作业3
开发语言·python
板面华仔1 小时前
机器学习入门(二)——逻辑回归 (Logistic Regression)
python·机器学习
Hgfdsaqwr1 小时前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python
2401_838472511 小时前
C++模拟器开发实践
开发语言·c++·算法
GHZhao_GIS_RS1 小时前
python中的sort和sorted用法汇总
python·排序·列表