1. 程式人生 > 其它 >leetcode 0027移除元素 python C++

leetcode 0027移除元素 python C++

技術標籤:leetcodleetcode

文章目錄


一、思路

題目要求原地修改,如果非原地修改我們可以怎麼做?建立一個新的陣列,把滿足要求的值存到新的陣列中。 現在我們可以把原陣列也看成這個新的陣列,雙指標,一個指標 j 表示原陣列的指標用來尋找滿足條件的值(非val),一個指標 i 表示新陣列的指標,用來儲存滿足條件的值。

二、程式碼

1.python

程式碼如下:

class Solution:
    def removeElement(self, nums, val) :
        # 1 非val值覆蓋
        '''
        i,j = 0,0
        while j < len(nums):
            if nums[j] != val:
                nums[i] = nums[j]
                i += 1
            j += 1
        return i
        '''
# 2 將前邊的val與最後一項交換 i = 0 n = len(nums) while i < n: if nums[i] == val: nums[i] = nums[n-1] n -= 1 else: i += 1 return i

2.C++

待更新