這是今天在leetcode上看到的一道題,題目是:給定一個非空整數數組,除了某個元素只出現一次以外,其余每個元素均出現兩次,找出那個只出現了一次的元素。
每次做題時,我第一想到的都是暴力解決方法,即用循環或者判斷方法。這道題雖然屬於簡單類型,依舊想不粗有什么可以在盡肯能少的時間內運行完成。
在用了循環后,果然時間效率及其低。
最后,在問答評論區,找到了大神的解決思路,即按位異或的思想。短短三行代碼,就完成了!
public class Solution {
public static int singleNumber(int[] nums) {
int result = 0;
for(int i = 0 ; i < nums.length ; i++ ){
result ^= nums[i];
}
return result;
}
