数组中只出现一次的数字
数组中只出现一次的数字
http://www.nowcoder.com/questionTerminal/e02fdb54d7524710a7d664d082bb7811
Java 实现
1、Arrays.sort 数组排序
2、使用栈进行从小到大入栈,一样的则弹出,不一样则入栈
3、取栈中剩余的元素
//num1,num2分别为长度为1的数组。传出参数 //将num1[0],num2[0]设置为返回结果 import java.util.Arrays; import java.util.Stack; public class Solution { public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) { Arrays.sort(array); Stack<Integer>sta = new Stack<Integer>(); for(int i=0; i<array.length; i++){ if(sta.empty() || sta.peek()!=array[i]) { sta.push(array[i]); }else if(sta.peek() == array[i]) { sta.pop(); } } num1[0] = sta.pop(); num2[0] = sta.pop(); } }