leetcode 移除元素 python3

2021-09-30 17:09:36 字數 1479 閱讀 6154

一、自己思路:

2.**:

class solution:

def removeelement(self, nums, val):

""":type nums: list[int]

:type val: int

:rtype: int

"""for i in range(len(nums)):

flag=true

if nums[i]!=val:

continue

else:

for j in range(i+1,len(nums)):

if nums[j]==val:

continue

else:

flag=false

tmp=nums[j]

nums[j]=nums[i]

nums[i]=tmp

i=i+1

if flag==true:

return i

二、更簡單的思路:

思路:迭代快指標,當快指標與指定值不相等時,將快指標的值賦值為慢指標,最後返回慢指標即可

**:

class solution:

def removeelement(self, nums, val):

""":type nums: list[int]

:type val: int

:rtype: int

"""i=0

for j in range(0,len(nums)):

if nums[j]!=val:

nums[i]=nums[j]

i=i+1

return i

三、利用python的內建函式

1).list.index(val)和list.pop([i])

class solution:

def removeelement(self, nums, val):

""":type nums: list[int]

:type val: int

:rtype: int

"""    

while val in nums:

i = nums.index(val)

nums.pop(i)

return len(nums)

2).nums.remove(val)

class solution:

def removeelement(self, nums, val):

""":type nums: list[int]

:type val: int

:rtype: int

"""    

while val in nums:

nums.remove(val)

return len(nums)

LeetCode 移除元素

給定乙個陣列 nums 和乙個值 val,你需要原地移除所有數值等於 val 的元素,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。示例 1 給定 nums 3,2,2,3 ...

leetcode 移除元素

給定乙個陣列 nums 和乙個值 val,原地移除所有數值等於 val 的元素,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。示例 1 給定 nums 3,2,2,3 val...

Leetcode 移除元素

給定乙個陣列 nums 和乙個值 val,你需要原地移除所有數值等於 val 的元素,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。示例 1 給定 nums 3,2,2,3 ...