//单数组的双指针问题
/**
问题描述:
一个大小为n的数组,数组数据中有若干个0,将所有的0存放到最后面,其他的数值顺序不变往前填充。
*/
public static void main(String[] args) {
int[] arr = {5,6,8,1,0,4,0,8,6};
for (int i : arr) {
System.out.print(i + "\t");
}
System.out.println();
for (int i : arrZero(arr)) {
System.out.print(i+ "\t");
}
}
static int[] arrZero(int arr[]){
int count = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == 0){
count++;
}else{
arr[i - count] = arr[i];
}
}
for (int i = 1; i <= count; i++) {
arr[arr.length-i] = 0;
}
return arr;
}
Java解决单数组的位移问题(使用双指针解决)
最新推荐文章于 2021-08-02 19:55:56 发布