LeetCode OJ 之 Missing Number (丢掉的数字)

LeetCode OJ 之 Missing Number (丢失的数字)

题目:

题目地址:https://leetcode.com/problems/missing-number/。

Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array.

For example,
Given nums = [0, 1, 3] return 2.

Note:
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?

思路:

思路类似这一道题:http://blog.****.net/u012243115/article/details/40902165 。

代码:

class Solution {
public:
    int missingNumber(vector<int>& nums) 
    {
        int n = nums.size();
        int result = 0;
        //先从0到n异或
        for(int i = 0 ; i <= n ; i++)
            result ^= i;
        
        //再和nums中的每个数异或即得到缺少的那个数字
        for(int i = 0 ; i < n ; i++)
            result ^= nums[i];
        return result;
    }
};


版权声明:转载请注明出处。