Leetcode 268 Missing Number 位运算

题意:先将0, 1, 2, ..., n放入数组,然后去掉其中一个值,找到那个值。

这题与singe number 是一个类型,变形的地方就是首先需要将0, 1, 2, ..., n再次放入这个数组,这样就和singe number 一样。

 1 class Solution {
 2 public:
 3     int missingNumber(std::vector<int>& nums) {
 4         int ans = 0;
 5         for (std::vector<int>::size_type i = 0; i < nums.size(); ++i){
 6             ans ^= nums[i];
 7         }
 8         for (int i = 0; i <= nums.size(); ++i){
 9             ans ^= i;
10         }
11         return ans;
12     }
13 };

 

posted @ 2016-01-24 21:02  Breeze0806  阅读(194)  评论(0编辑  收藏  举报