题目描述
编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。
输入时首先读入数组长度,再依次读入每个元素。
将调用此函数后得到的数组和函数返回值输出。
输入
输入描述:
输入样例:
7
2 0 4 3 0 0 5
输出
输出描述:
输出样例:
2 4 3 5
4
HINT:时间限制:1.0s 内存限制:512.0MB
解题思路
在数组中删除元素后需要改变数组的长度,比较麻烦,所以用列表来实现。在一个列表中删除元素之后,把剩余的添加进另一个列表,之后输出就行。
代码
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(Sys