【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
相关推荐
fashion 道格3 分钟前
从地图导航到数据结构:解锁带权有向图的邻接链表奥秘
c语言·数据结构·链表
z***89714 分钟前
Flask框架中SQLAlchemy的使用方法
后端·python·flask
2401_893326627 分钟前
力扣1971.寻找图中是否存在路径
算法·leetcode·职场和发展
G果10 分钟前
ROS2 Cartographer纯定位导航遇到的问题
python·ros2·定位·cartographer·导航·launch·navigation2
zs宝来了16 分钟前
HOT100-技巧类型题
数据结构·算法
Ayanami_Reii16 分钟前
进阶数据结构-FenwickTree
数据结构·算法·树状数组·fenwick tree
爪哇部落算法小助手22 分钟前
每日两题day59
数据结构·c++·算法
Brduino脑机接口技术答疑31 分钟前
脑机接口数据处理连载(二) 数据源头解析:脑电信号的采集原理与数据特性
人工智能·python·算法·数据分析·脑机接口
软件测试媛34 分钟前
软件测试工程师面试题大全(附答案)
功能测试·职场和发展·测试用例
Wise玩转AI37 分钟前
Day 25|智能体的“可观察性(Observability)体系”
人工智能·python·ai·chatgpt·ai智能体