1.使用STL中的栈是少用for,用while+empty判空
leetcode:
136:任何数和 00 做异或运算,结果仍然是原来的数,即 a \oplus 0=aa⊕0=a。
任何数和其自身做异或运算,结果是 00,即 a \oplus a=0a⊕a=0。
int singleNumber(vector& nums) {
int ret = 0;
for (auto e: nums) ret ^= e;//注意vector的便利``
return ret;
}
int singleNumber(vector<int>& nums) {
return accumulate(nums.begin(),nums.end(),0,bit_xor());
}
accumulate:取和
bit_xor():二进制数字进行异或操作 然后取其和