剑指 Offer II 004. 只出现一次的数字

剑指 Offer II 004. 只出现一次的数字

题目链接:力扣

思路:

排序nums,三个一组判断是否相等,如果不相等返回第一个数

class Solution {
public:
    int singleNumber(vector<int>& nums) {
if(nums.size()==1)
return nums[0];
sort(nums.begin(),nums.end());
int p;
int q;
int i=0;
while(i<nums.size())
{
    if(i+2<nums.size()&&i+1<nums.size()&&nums[i]==nums[i+1]&&nums[i+1]==nums[i+2])
    {
        i=i+3;
    }
    else
    break;

}
return nums[i];
    }
};

注意:while遍历数组中if要加条件防止数组越界

 

上一篇:004—Orcad创建简单分裂元件


下一篇:剑指 Offer II 004. 只出现一次的数字