题目
题目描述
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
思路
- 先把数组转为arraylist。
- 主要利用arraylist的indexof()方法。
代码
//num1,num2分别为长度为1的数组。传出参数
//将num1[0],num2[0]设置为返回结果
import java.util.ArrayList;
public class Solution {
public void FindNumsAppearOnce(int [] a,int num1[] , int num2[]) {
if(a.length==0) return;
ArrayList<Integer> list = new ArrayList<Integer>();
//C为暂时存放两个数字的arraylist
ArrayList<Integer> c = new ArrayList<Integer>();
for(int i = 0; i < a.length; i++ ){
list.add(a[i]);
}
while(c.size()!=2){
int j = list.get(0);
int tmp = j;
list.remove(0);
int w = list.indexOf(tmp);
if(w == -1){
c.add(tmp);
}else{
list.remove(w);
}
}
num1[0] = c.get(0);
num2[0] = c.get(1);
}
}