leetcode136,137 只出现一次的数字
这题要求线性时间复杂度,开始不太会,看解析后发现是对异或运算符的应用,不熟练,但是确实很新奇
异或运算符^:相同为0,相异为1
class Solution {
public:
int singleNumber(vector<int>& nums) {
int result=0;
for(int i=0;i<nums.size();i++){
result=result^nums[i];
}
return result;
}
};
另外,137.找出出现的一次的数字,当组内元素出现三次时
此题目不能用136的解法,因为不能两两消除,会用到hash和set的知识,刚开始刷leetcode,以后再来补充