阅读 26043 次
发表时间:2012-02-22
lyw985 写道
jancy 写道
zhangyang6380006 写道
我记得我上次面试也问了这个,我当时顿住了,10钞后想出来了,没有第三变量,必然是两个变量相加和相减操作,a=a+b;b=a-b;a=a-b;

如果2个变量都是数字,这样可以
字符串的话,就不行了。
这样比较通用:
b ^= a ^= b ^= a;


写这么复杂。。。。。

实际上就是异或操作

a=a^b;
b=b^a;
a=b^a;

a=a^b;
b=a^b;
a=a^b;

我也一直用异或,用过一次就永远不会忘
发表时间:2012-02-22
我觉得挺简单
发表时间:2012-02-22
liubey 写道
二楼正解,记得是在哪本书上有写

大学教科书上,其实就是异或
Global site tag (gtag.js) - Google Analytics