难度:简单。
标签:位运算。
题解
c++不支持负数移位,因此要强制类型转换为无符号数(unsigned int)
正确解法:
class Solution {
public:
int add(int a, int b) {
while(b){
int c = (unsigned int)(a & b) << 1;
a ^= b;
b = c;
}
return a;
}
};
结果: