如题,我找到的两种方法如下,那么还有其他方法吗?
第一种方法:异或的方式
1,我们知道一个数异或另一个数2次,结果还是这个数。举例:2^3^3=2.这个大家明白吧,应该没问题.同样,3^2^3=2,其实我只是把顺序换了下位置,这个都不难理解.
2, 题目中不是说两个整数变量吗?那么我们就设两个整数变量.比如: int x = 2; int y = 3;现在我们就把这两个数用异或的方法进行数值换位.
3,由于我们人的思想习惯是xy的顺序,那么我们就先来换位x,于是有:
x = x^y;//此时x=2^3.这时再算出y,于是有
y = x^y;//相当于2^3^3=2,这时的y=2,我们完成了一个换位.于是开始换x.
此时x^y=2^3^2=3,那么我们就把这个值赋给x,那么就是
x = x^y;//相当于2^3^2=3.这时x=3;
第二种方法:利用数学技巧
a=a+b;
b=a-b;
a=a-b;
|