fork download
  1. class Solution(object):
  2. def removeElement(self, nums, val):
  3. left = 0
  4. right = len(nums) - 1
  5.  
  6. while left <= right:
  7. if nums[right] == val:
  8. right = self.fromRightSlide(nums, val, right)
  9. continue
  10. if nums[left] == val:
  11. nums[left] = '_'
  12. self.swap(nums, left, right)
  13. right -= 1
  14. left += 1
  15. right = len(nums) - 1
  16. while len(nums) > 0 and nums[right] == "_" :
  17. nums.pop()
  18. right -= 1
  19.  
  20. def swap(self,nums, i, j):
  21. temp = nums[i]
  22. nums[i] = nums[j]
  23. nums[j] = temp
  24. def fromRightSlide(self, nums, val, right):
  25. while right >= 0 and nums[right] == val :
  26. nums[right] = '_'
  27. right -= 1
  28. return right
Success #stdin #stdout 0.09s 14116KB
stdin
Standard input is empty
stdout
Standard output is empty