移动零

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

	public static int[] moveZero(int[] nums) {
		//定义两个下标的索引
		int index1=0;
		int index2=0;
		while(index2<nums.length) {
		if(nums[index2]!=0) {
			nums[index1]=nums[index2];
			index1++;
			index2++;
		}else {//该位置的数组元素为0,直接让index2的位置往前走
			index2++;
		}
		}
		//index1和index2相差的数字就是应该补齐的0的个数
		for(int i=index1;i<nums.length;i++) {
			nums[i]=0;
		}
		return nums;
}
	
	public static void main(String[] args) {	
		int[] nums= {0,1,0,3,12,152,12,0,52,0};
		//调用函数
		int[] newNums=moveZero(nums);
		//打印函数
		for(int i=0;i<nums.length;i++) {
			System.out.println(nums[i]);
				}

	}

  

上一篇:16. 找数


下一篇:Java LeetCode每日一题(二):两数之和 II - 输入有序数组