136. Single number

int singleNumber(int *nums, int numsSize) {
  int xr = 0;
  for (int i = 0; i < numsSize; i++)
    xr = xr ^ nums[i];
  return xr;
}
#include <vector>

using namespace std;

class Solution {
public:
  int singleNumber(vector<int> &nums) {
    int xr = 0;
    for (int n : nums)
      xr = xr ^ n;
    return xr;
  }
};
package bitmanipulation

func singleNumber(nums []int) int {
    xr := 0
    for _, n := range nums {
        xr = xr ^ n
    }
    return xr
}
class Solution {
    public int singleNumber(int[] nums) {
        int xr = 0;
        for (int n : nums)
            xr = xr ^ n;
        return xr;
    }
}
/**
 * @param {number[]} nums
 * @return {number}
 */
var singleNumber = function (nums) {
  let xr = 0;
  for (const n of nums) xr = xr ^ n;
  return xr;
};
from typing import List


class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        xr = 0
        for n in nums:
            xr = xr ^ n
        return xr
impl Solution {
    pub fn single_number(nums: Vec<i32>) -> i32 {
        let mut xr = 0;
        for n in nums {
            xr = xr ^ n;
        }
        xr
    }
}