本文主要是介绍Crack LeetCode 之 136. Single Number,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
https://leetcode.com/problems/single-number/
所有数取异或,最终结果就是那个单一的数,这是因为相同的两个数异或的结果为0。算法的时间复杂度为O(n),空间复杂度为O(1)。
c++代码如下:
class Solution {
public:int singleNumber(vector<int>& nums) {if (nums.empty())return 0;int res = 0;for (auto i : nums)res ^= i;return res;}
};
python代码如下:
class Solution:def singleNumber(self, nums):if length(nums) == 0:return 0res = 0for i in nums:res = res ^ ireturn res
这篇关于Crack LeetCode 之 136. Single Number的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!