源题目

https://leetcode-cn.com/problems/move-zeroes/

283. 移动零

难度简单1174
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
示例:
输入: [0,1,0,3,12] 输出: [1,3,12,0,0]
说明:

  1. 必须在原数组上操作,不能拷贝额外的数组。
  2. 尽量减少操作次数。
  1. class Solution {
  2. /**
  3. * @param Integer[] $nums
  4. * @return NULL
  5. */
  6. function moveZeroes(&$nums) {
  7. $j = 0;
  8. $tmp = 0;
  9. $len = count($nums);
  10. for($i =0; $i < $len; $i ++){
  11. if($nums[$i] != 0){
  12. $tmp = $nums[$i];
  13. $nums[$i] = $nums[$j];
  14. $nums[$j] = $tmp;
  15. $j ++;
  16. }
  17. }
  18. }
  19. }