【题目】

如何不用任何额外的变量交换两个整数的值?

【难度】

★☆☆☆

【解答】

这个问题有点挑战,可惜遇到了 go 语言,没一点挑战了

1
a,b = b,a

其他语言:

1
2
3
a = a ^ b;此时的a为a',a'= a ^ b,将a'带入下列方程得如下结果:
b = a ^ b; b = a ^ b ^ b = > b = a
a = a ^ b; a = a ^ b ^ a = > a = b