【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
相关推荐
KingRumn4 小时前
Linux信号之标准信号与实时信号
linux·算法
free-elcmacom6 小时前
深度学习<4>高效模型架构与优化器的“效率革命”
人工智能·python·深度学习·机器学习·架构
liliangcsdn7 小时前
python模拟beam search优化LLM输出过程
人工智能·python
源代码•宸7 小时前
Leetcode—620. 有趣的电影&&Q3. 有趣的电影【简单】
数据库·后端·mysql·算法·leetcode·职场和发展
王琦03188 小时前
Python 函数详解
开发语言·python
胡伯来了8 小时前
13. Python打包工具- setuptools
开发语言·python
2301_800256118 小时前
地理空间数据库中的CPU 和 I/O 开销
数据库·算法·oracle
小鸡吃米…8 小时前
Python 中的多层继承
开发语言·python
中國移动丶移不动8 小时前
Python MySQL 数据库操作完整示例
数据库·python·mysql
落叶,听雪8 小时前
AI建站推荐
大数据·人工智能·python