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