由于队列提供的contains()还有remove(Obejct o)方法使得问题简单许多了
import java.util.*; public class Solution { public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) { Deque<Integer> q = new LinkedList<>(); for(int i=0;i<array.length;i++){ if(q.contains(array[i])){ q.remove(array[i]); }else{ q.push(array[i]); } } num1[0]=q.poll(); num2[0]= q.poll(); } }