27. 移除元素
Posted panweiwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了27. 移除元素相关的知识,希望对你有一定的参考价值。
代码一:
1 class Solution(object): 2 def removeElement(self, nums, val): 3 """ 4 :type nums: List[int] 5 :type val: int 6 :rtype: int 7 """ 8 if nums == []: 9 return 0 10 i, j = 0, len(nums) - 1 11 12 while i < j: 13 if nums[i] != val: 14 i += 1 15 elif nums[j] == val: 16 j -= 1 17 elif nums[i] == val: 18 nums[i], nums[j] = nums[j], nums[i] 19 i += 1 20 j -= 1 21 # print(nums, i, j) 22 if nums[i] == val: 23 return len(nums[:i]) 24 else: 25 return len(nums[:i])+1
代码二:
1 class Solution(object): 2 def removeElement(self, nums, val): 3 """ 4 :type nums: List[int] 5 :type val: int 6 :rtype: int 7 """ 8 if len(nums) == 0: 9 return 0 10 # 双指针 11 i, j = 0, len(nums) - 1 12 while i < j: 13 # j指向的等于val,j前移 14 if nums[j] == val: 15 j -= 1 16 continue 17 # 如果i指向的等于val,交换i和j的值,j前移 18 if nums[i] == val: 19 nums[i], nums[j] = nums[j], nums[i] 20 j -= 1 21 # i每一趟都后移 22 i += 1 23 # print(nums, i, j) 24 if nums[i] == val: 25 return len(nums[:i]) 26 else: 27 return len(nums[:i]) + 1
以上是关于27. 移除元素的主要内容,如果未能解决你的问题,请参考以下文章