# 27. Remove Element 題目:<https://leetcode.com/problems/remove-element/> 解法:採用直接解,依序找出值為val的element並移除,python使用pop(i),c則是從後面找值非val的element取代值為val的element Python3: ``` python 3 class Solution: def removeElement(self, nums: list[int], val: int) -> int: i = 0 while i < len(nums): if nums[i] == val: nums.pop(i) else: i += 1 return len(nums) if __name__ == '__main__': nums = [0, 1, 2, 2, 3, 0, 4, 2] val = 2 ans = Solution().removeElement(nums, val) print(nums) print(ans) ``` C: ``` c #include <stdio.h> #include <stdlib.h> int removeElement(int* nums, int numsSize, int val){ int k = numsSize - 1; for (int i = 0; i <= k; i++) if (nums[i] == val) { while (k > i && nums[k] == val) k--; nums[i] = nums[k]; k--; } return ++k; } int main() { int nums[] = {4, 5}; int numsSize = sizeof(nums) / sizeof(nums[0]); int val = 5; int ans = removeElement(nums, numsSize, val); for (int i = 0; i < numsSize; i++) printf("%d ", nums[i]); printf("\n"); printf("%d\n", ans); return 0; } ``` ###### tags: `leetcode` `array`