比如:a=4,b=5,在不引用第三个变量时实现两者值交换
这个面试题可能会到问到,在牛客网上就遇到这题,今天拿出来记录下,怕忘记
真正的做法有三种,依次实现下
第一种:最容易想到的方法,就是引用一个中间变量
int a = 4;
int b = 5;
int temp = a;
a = b;
b = temp;
第二种:不使用第三方变量
分析,我们把b-a = 1,把这个1赋值给a,那么b-a就是等于4了,
b=b-a=4
现在把b变成了4,然后我们只要把a变成5就可以了
a = b+a;
这样a就变成5了,代码如下:
int a = 4;
int b = 5;
a = b-a;
b = b-a;
a = b+a;
第三种:使用运算符 这种方法一般不容易想的到
int a = 4;
int b = 5;
a = b-a;
b = b-a;
a = b+a;