#include <vector>
class Solution {
public:
vector<int> FindNumsAppearOnce(vector<int>& nums) {
int n = nums.size();
vector<int> ans;
if(n == 2) return nums;
sort(nums.begin(), nums.end());
for(int i = 0; i < n; i ++){//相当于遍历数组中元素的时候进行分类讨论,首个元素要是不和后面一个元素相同就入栈,中间的元素要是前后都不相同就入栈,末尾的元素要是不和前面一个元素相等就入栈
if(i == 0 && nums[i] != nums[i+1]) ans.push_back(nums[i]);
if(i != 0 && nums[i] != nums[i - 1] && i != n-1 && nums[i] != nums[i+1]) ans.push_back(nums[i]);
if(i == n-1 && nums[i] != nums[i-1]) ans.push_back(nums[i]);
}
return ans;
}
};