// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝 int len = removeElement(nums, val);
// 在函数里修改输入数组对于调用者是可见的。 // 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。 for (int i = 0; i < len; i++) { print(nums[i]); }
Solution1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
class Solution(object): def removeElement(self, nums, val): """ :type nums: List[int] :type val: int :rtype: int """ k = len(nums) if k == 0: return 0 j = 0 for i in range(k): if nums[i] != val: nums[j] = nums[i] j += 1 return j
Solution2
1 2 3 4 5 6 7 8 9 10 11 12
class Solution(object): def removeElement(self, nums, val): """ :type nums: List[int] :type val: int :rtype: int """ k = len(nums) for i in range(k-1,-1,-1): if nums[i] == val: nums.pop(i) return len(nums)