题意:

image.png

解题思路:

  1. 思路:
  2. 1. 初始化j = 0
  3. 1. 每次循环判断nums[i] val是否相等,相等的话nums[j] = nums[i],j++;
  4. 2. 最后返回j

PHP代码实现:

  1. class Solution {
  2. function removeElement(&$nums, $val) {
  3. $j = 0;
  4. for ($i = 0; $i < count($nums); $i++) {
  5. if ($nums[$i] != $val) {
  6. $nums[$j] = $nums[$i];
  7. $j++;
  8. }
  9. }
  10. return $j;
  11. }
  12. function removeElement1(&$nums, $val) {
  13. if ($nums == null) return 0;
  14. foreach ($nums as $k => $v) {
  15. if ($v == $val) unset($nums[$k]);
  16. }
  17. return count($nums);
  18. }
  19. }

GO代码实现:

  1. func removeElement(nums []int, val int) int {
  2. ans := 0
  3. for _, num := range nums {
  4. if num != val {
  5. nums[ans] = num
  6. ans++
  7. }
  8. }
  9. return ans
  10. }