1、问题:实现给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
2、代码实现
public class Day4_demo6 { public static void main(String[] args) { int[] nums={0,1,0,3,12}; for(int i=0;i<nums.length;i++){ System.out.print(nums[i]+" "); } int fast = 0,slow=0; //定义两个下标 while(fast<nums.length){ for(int i=0;i<nums.length;i++){ if(nums[fast]!=0){ nums[slow]=nums[fast]; slow++; fast++; }else{ fast++; } } } for(int i=slow;i<nums.length;i++){ nums[i]=0; } System.out.println(""); System.out.println("移动后如下" ); for(int i=0;i<nums.length;i++){ System.out.print(nums[i]+" "); } } }