剑指 Offer 56 - I. 数组中数字出现的次数(中等)

孜孜不倦fly / 2023-08-31 / 原文

题目:

class Solution {
public:
    vector<int> singleNumbers(vector<int>& nums) {
        vector<int> result;
        stack<int> st;      //用栈的性质保留重复次数为奇数的元素
        sort(nums.begin(), nums.end());      //必须先从小到大排序
        st.push(nums[0]);      
        for(int i=1;i<nums.size();i++){
            if(nums[i]==nums[i-1]) {
                st.pop();
                continue;
            }
            st.push(nums[i]);
        }
        while(!st.empty()){
            result.push_back(st.top());
            st.pop();
        }
        return result;
    }
};