# Leetcode [No. 136] Single Number (EASY) ## 題目 https://leetcode.com/problems/single-number/description/ ## 思路 + 這個解法就是使用xor來做,奇數個1輸出為1。 + 意思就是當遇到兩個一樣的數字,就會消掉變成0。 ```c++= class Solution { public: int singleNumber(vector<int>& nums) { int ans = nums[0]; for(int i = 1 ; i < nums.size(); i++) { ans = ans ^ nums[i]; } return ans; } }; ``` ### 解法分析 + time complexity: O(n) + space complexity: O(1) ### 執行結果 ![image](https://hackmd.io/_uploads/rkbnNjdvT.png) --- ## 2nd visited on 2025/05/24 ```c++= class Solution { public: int singleNumber(vector<int>& nums) { int v = 0; for (auto num: nums) { v = v ^ num; } return v; } }; ``` ![image](https://hackmd.io/_uploads/BJGyFbyfxe.png)