前段时间遇到一个面试题:对两个变量值进行交换,不借助第三个变量。在此特意总结出几种答案,供各位参考!
第一种:算术运算
或者是
第二种:采用异或运算
第三种:使用数据结构--栈
栈的特点:先进后出,后进先出。
结果:
小结:以上三种方法都可以不借助第三个变量,进行两值交换。其中前两种方法都只针对变量是数值,而对于变量是字符串等,则无法进行交换。第三种方法则对变量是什么没有要求。