求助丨我的代码为什么会超出内存限制呢?球球各位大佬看一眼呜呜
779
2024.10.25
2024.10.25
发布于 广东

简介

leecode第86题. 分隔链表(https://leetcode.cn/problems/partition-list/description/?envType=study-plan-v2&envId=top-interview-150)

image.png

代码

以下是我的代码。
主要思想是,将小于x的Node放入小链表,将大于x的Node放入大链表,最后把小链表与大链表连起来。

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def partition(self, head: Optional[ListNode], x: int) -> Optional[ListNode]:
        presmall = ListNode()
        points = presmall
        prebig = ListNode()
        pointb = prebig
        point = head
        while point:
            if point.val < x:
                points.next = point
                points = point
            else:
                pointb.next = point
                pointb = point
            point = point.next
        points.next = prebig.next
        return presmall.next

运行结果如下:
image.png
经过排查,我发现当point遍历至最后一个Node时,points = point这一行代码无法运行,最终导致超出内存限制,可是我没有明白问题出在哪里。球球大佬们帮我解答一下,球球了。

评论 (3)