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
达到 无引进中间变量交换的结果



京公网安备 11010502036488号