#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; } };