import java.util.*; public class Exchange { public int[] exchangeAB(int[] AB) { AB[0] ^= AB[1]; AB[1] ^= AB[0]; AB[0] ^= AB[1]; return AB; } }
使用异或 的规律
思路 : 0位为a ,a1 为 版本1.
1位为b1 ,b1 为 版本1
过程
AB[0] ^= AB[1]; -> a2 = a1 ^ b 1
AB[1] ^= AB[0]; -> b2 = a2 ^ b 1 -> b2 = a1 ^ b 1^ b 1 = a1
AB[0] ^= AB[1]; -> a3 = a2 ^ b 2 -> a3 = a1 ^ b 1 ^a1 = b1
达到 无引进中间变量交换的结果