# Leetcode 268. Missing Number ###### tags: `Leetcode` 題目 Given an array nums containing n distinct numbers in the range [0, n], return the only number in the range that is missing from the array. Example 1: Input: nums = [3,0,1] Output: 2 Explanation: n = 3 since there are 3 numbers, so all numbers are in the range [0,3]. 2 is the missing number in the range since it does not appear in nums. Example 2: Input: nums = [0,1] Output: 2 Explanation: n = 2 since there are 2 numbers, so all numbers are in the range [0,2]. 2 is the missing number in the range since it does not appear in nums. Example 3: Input: nums = [9,6,4,2,3,5,7,0,1] Output: 8 Explanation: n = 9 since there are 9 numbers, so all numbers are in the range [0,9]. 8 is the missing number in the range since it does not appear in nums. 解法: 1.xor的基本定理 * a xor a = 0 * if a xor b = c * a xor c = b * b xor c = a ====================== ``` int missingNumber(int* nums, int numsSize){ int res = 0; for(int i = 0; i < numsSize; i++) { res^=i; res^=nums[i]; } return res^=numsSize; } ```