字符串算法——單一數(Single Number)

問題:
Given an array of integers, every element appears twice except for one. Find that single one.

Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
給你一個整數數組,其中只有一個元素出現一次,其他元素都出現兩次,找到那個出現一次的數。
思路一:不考慮附加條件,可以採用暴力的方法,依次對每個整數都進行比較
思路二:如果兩個數相同,則兩個數進行異或爲零。對所有的數都進行異或,則結果就是那個單一數。

class Solution {
    public int singleNumber(int[] nums) {
        for(int i = 1;i<nums.length;i++){
            nums[0]^=nums[i];//異或
        }
        return nums[0];
    }
}
發佈了42 篇原創文章 · 獲贊 2 · 訪問量 8876
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章