交换两个int变量的值,不能使用第三个变量。即a=3,b=5,交换后a=5,b=3
错误做法:使用了第三个变量
另一种方法:有缺陷:整形数字有上限,若数值太大就会溢出
正确方法:按位异或
算法的底层逻辑:
所以这个步骤就可以理解为:
a = a ^ b ^ b 存放到b中
b = a ^ a ^ b 存放到a中
交换两个int变量的值,不能使用第三个变量。即a=3,b=5,交换后a=5,b=3
错误做法:使用了第三个变量
另一种方法:有缺陷:整形数字有上限,若数值太大就会溢出
正确方法:按位异或
算法的底层逻辑:
所以这个步骤就可以理解为:
a = a ^ b ^ b 存放到b中
b = a ^ a ^ b 存放到a中