問題描述
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL9UVbkZHeHRGaxIjY5plMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzYzN2UTOwEjMzAzMwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
暴力求解代碼
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
i = 0
while i < len(nums):
if nums[i] == val:
nums.pop(i)
else :
i = i + 1
return len(nums)
結果
官方提供的雙指針法
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
i = 0
j = 0
while j < len(nums):
if nums[j] != val:
nums[i] = nums[j]
i = i + 1
j = j + 1
return i
結果
竟然一樣?巧合!