苹果就叫不呐呐 2022-09-28 20:07 采纳率: 0%
浏览 10

list index out of range不知道为什么报错

list index out of range 明明没有越界啊,为什么会报错

之后把程序中

  while fast <= len(nums):


改为

  while fast < len(nums):


就又不报错了

完整代码如下,求解答
class Solution(object):
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        if not nums:
            return 0

        slow = 0
        fast = 0
        while fast <= len(nums):
            if nums[fast] != nums[slow]:
                slow += 1
                nums[slow] = nums[fast]
                fast += 1
            else:
                fast += 1 

        return slow+1

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-09-28 20:11
    关注

    fast当然不能等于数组长度。因为数组下标范围是从0到len(nums)-1。你等于len(nums-1)就下标越界了

    评论

报告相同问题?

问题事件

  • 创建了问题 9月28日