Appearance
27. Remove Element
https://leetcode.com/problems/remove-element/
c++
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
if (nums.empty()) {
return 0;
}
int left = 0;
int right = nums.size() - 1;
while (left <= right) {
if (nums[left] == val) {
nums[left] = nums[right];
right--;
} else {
left++;
}
}
return right + 1;
}
};
go
func removeElement(nums []int, val int) int {
if len(nums) == 0 {
return 0
}
left := 0
right := len(nums) - 1
for left <= right {
if nums[left] == val {
nums[left] = nums[right]
right--
} else {
left++
}
}
return right+1
}
js
/**
* @param {number[]} nums
* @param {number} val
* @return {number}
*/
var removeElement = function(nums, val) {
var left = 0
var right = nums.length - 1
while (left <= right) {
if (nums[left] === val) {
nums[left] = nums[right]
right--
} else {
left++
}
}
return right + 1
}
py
class Solution(object):
def removeElement(self, nums, val):
"""
:type nums: List[int]
:type val: int
:rtype: int
"""
left, right = 0, len(nums) - 1
while left <= right:
if nums[left] == val:
nums[left] = nums[right]
right -= 1
else:
left += 1
return right + 1