一、题目
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。
二、思路
排序+栈,方法有些low,有空再改进吧
三、代码
class Solution {
public int singleNumber(int[] nums) {
Arrays.sort(nums);
Stack<Integer> stack = new Stack<>();
for (int i = 0; i < nums.length; i++) {
stack.push(nums[i]);
}
while(!stack.isEmpty()){
int top1 = stack.pop();
int top2 = 0;
if (stack.isEmpty()){
return top1;
}else {
top2 = stack.pop();
}
if (top1 == top2){
stack.pop();
continue;
}else{
return top1;
}
}
return 0;
}
}