您的位置:首页 > 其它

位运算——LeetCode 136.Single Number

2018-02-14 21:09 417 查看

给定一个整数数组, 每个元素出现‎‎两次‎‎, 除了某一个元素。找到那个出现一次的元素。

public int singleNumber(int[] nums) {
int ans = 0;

for (int i : nums) {
ans ^= i;
}

return ans;
}
这里先讲位运算的特点:1.0 ^ N = N
2.N ^ N = 0

所以每个出现两次元素位运算之后都会变成0,最后只剩0 ^ N,就可以得出结果了,这样时间复杂度是最低的。O(1)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LeetCode