seo推廣騙局百度快照優(yōu)化公司
給定一個數(shù)組?nums
,編寫一個函數(shù)將所有?0
?移動到數(shù)組的末尾,同時保持非零元素的相對順序。
請注意?,必須在不復制數(shù)組的情況下原地對數(shù)組進行操作。
283. 移動零 - 力扣(LeetCode)
思路:
快慢指針,fast每次前進1,代表遍歷數(shù)組的進度;slow計數(shù)所有不為零的數(shù),也是最后一個非零數(shù)應該在的數(shù)組下標
每次當前下標的數(shù)不為0,就將快慢指針下標數(shù)交換位置
public class Solution {public void MoveZeroes(int[] nums) {int fast = 0;int slow = 0;while(fast < nums.Length){if(nums[fast] != 0){int temp = nums[fast];nums[fast] = nums[slow];nums[slow] = temp;slow++;}fast++;}}
}