class Solution {
public:
int singleNumber(vector<int>& nums) {
if (nums.size() == 1)
return nums[0];
//排序
sort(nums.begin(), nums.end());
int i = 0;
while (i < nums.size()) {
// i + 1 == size的时候, 是数组的最后一个元素, 此时还没结束说明这最后一个元素是单独出现
if ((i + 1) == nums.size() || (nums[i] != nums[i + 1]))
return nums[i];
i += 3;
}
//如果循环结束没找到就说明是最后一个元素, 且i += 3的时候跳过了最后一个元素
return nums.back();
}
};
OJ ------ LeetCode 137 : 只出现一次的数字II
最新推荐文章于 2020-12-16 17:12:31 发布