2. 两数交换
2.1 题目描述
2.2 思路讲解
思路讲解之前,请先看清楚题意是不用临时变量,思考一下不用临时变量的做法尽量往位运算方面靠。
2.2.1 异或法
n^n = 0
0^n = n
两数交换的异或法
2.2.2 临时变量法
##### 2.2.3 加减法
2.2.4 总结
异或法——效率高(难想到)
临时变量法——最常用到(易想到)
加减法——注意可导致int溢出(可理解为容器装不下会溢出)
位运算符的技巧
n^n = 0
0^n = n
2.3 代码实现
2.3.1 C语言
2.3.2 Java
3. 写在最后
简简单单的两数交换却有好几种做法,异或法更是有巧妙之处。希望看完这篇文档的你,能动手验证一下。纸上得来终觉浅,绝知此事要躬行。
4. 文档分享
如果您觉得这份关于两数交换的文档还不错,尝试点击分享这份文档给好友吧!
作者 @MythicalCreature
于2020 年 08月 16日发布