1.首先,我们刚开始学习交换两个数是这样:
但我们会遇到一些面试题让我们不用变量交换。
1.第一种
但是如果a 和 b 的值较大, 那么相加时会溢出。
2.第二种(异或法)
它使用的原理其实是 a ^ b ^b = a 两次异或后会变成原来的数。
这个方法就不用考虑它的溢出了。
3.补充
其实在实际编程中我们就用第一种方法就好:可读性高,效率也高。
异或法,只是应付面试题而已。
1.首先,我们刚开始学习交换两个数是这样:
但我们会遇到一些面试题让我们不用变量交换。
1.第一种
但是如果a 和 b 的值较大, 那么相加时会溢出。
2.第二种(异或法)
它使用的原理其实是 a ^ b ^b = a 两次异或后会变成原来的数。
这个方法就不用考虑它的溢出了。
3.补充
其实在实际编程中我们就用第一种方法就好:可读性高,效率也高。
异或法,只是应付面试题而已。