1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
"""
移除元素
"""
from typing import List
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
"""
左指针 单指针遍历
:param nums:
:param val:
:return:
"""
left = 0
for index in range(0, len(nums)):
if nums[index] != val:
nums[left] = nums[index]
left += 1
return left
def removeElement2(self, nums: List[int], val: int) -> int:
"""
双指针优化,左右夹逼
:param nums:
:param val:
:return:
"""
left = 0
right = len(nums)
while left < right:
if nums[left] == val:
nums[left] = nums[right - 1]
right -= 1
else:
left += 1
return left
if __name__ == '__main__':
result = Solution().removeElement2([2], 3)
print(result)