标签:
问题如下:
Given an array nums
, write a function to move all 0
‘s to the end of it while maintaining the relative order of the non-zero elements.
For example, given nums = [0, 1, 0, 3, 12]
, after calling your function, nums
should be [1, 3, 12, 0, 0]
.
Note:
我的解答:
package com.jianghua.index; import java.util.Scanner; public class orderr { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = 0; n=sc.nextInt(); int [] Array = new int[n]; Scanner scanner = new Scanner(System.in); for (int i = 0; i < Array.length; i++) { Array[i]=scanner.nextInt(); } for (int i = 0; i < Array.length; i++) { if (Array[i]==0) { for (int j=Array.length-1; j >=0; j--) { if (Array[j]!=0) { if (i>j) { break; }else { int temp; temp = Array[i]; Array[i]=Array[j]; Array[j]=temp; break;} } } } } for (int i = 0; i < Array.length; i++) { if (Array[i]==0) { break; }else { for (int k = i+1; k < Array.length; k++) { if (Array[k]!=0) { if (Array[i]>Array[k]) { int temp; temp=Array[i]; Array[i]=Array[k]; Array[k]=temp; } } } } } for (int j = 0; j < Array.length; j++) { System.out.print(Array[j]); } } }
标签:
原文地址:http://www.cnblogs.com/qingshuisengren/p/4828388.html