两个数交换位置,我们可能想到的使用一个临时变量temp,但当不使用临时变量,减少内存占用,如何实现交换两个数,
1.可以使用位运算,
位运算
左移右移,是通过二进制数进行计算的
两个数的交换,
传统
int temp = a;
a = b;
b = temp;
位运算可以进行两个数交换
a ^= b;
b ^= a;
a ^= b;
还可以使用计算的方式节省内存空间,增加计算量
a = a + b;
b = a - b;
a = a - b;
通过这样的方式来交换两个数