两数互换

常规的交换

var a = 11;
var b = 12;
var temp;//额外的变量
temp = a;
a = b;
b = temp;

不使用额外空间

var a = 11;
var b = 12;
a = a+b;//和
b = a-b;//a
a = a-b;//b

二进制操作,高效

var a = 11;
var b = 12;
a = a^b;
b = a^b;//a^b^b = a本身
a = a^b;//(a^b)^(a^b^b) = a^b^a = b本身
文章目录
  1. 1. 常规的交换
  2. 2. 不使用额外空间
  3. 3. 二进制操作,高效
|