Leetcode(二) 移除元素

2021-09-02 14:19:58 字數 673 閱讀 1792

給定乙個陣列 nums 和乙個值 val,你需要原地移除所有數值等於 val 的元素,返回移除後陣列的新長度。

不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o(1) 額外空間的條件下完成。

元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。

因為在刪除元素的過程中,陣列的長度一直在改變,所以需要使用while遍歷比較合適,用for迴圈的話,遍歷的索引值不方便控制其根據list長度變化而跟著變化。

class solution:

def removeelement(self, nums, val):

""":type nums: list[int]

:type val: int

:rtype: int

"""i = 0

l = len(nums)

if l == 0:

return 0

else:

while i < l:

if nums[i] == val:

nums.remove(nums[i]) #陣列的長度會發生改變

l -= 1

else:

i += 1

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 ...