If you don’t understand bit operations, just remember
class Solution {
public:
int add(int a, int b) {
int c=0;
while(b){
c=(unsigned int)(a&b)<<1;
a^=b;
b=c;
}
return a;
}
};