现在的位置: 首页 > 综合 > 正文

不使用中间变量来交换两个变量的值

2018年03月19日 ⁄ 综合 ⁄ 共 160字 ⁄ 字号 评论关闭

1. 使用加减法

int x = 3;
int y = 5;
x = x ^ y;
y = x ^ y;
x = x ^ y;

2. 使用异或

int x = 3;
int y = 5;
x = x + y;
y = x - y;
x = x - y;

3. 只要在int范围内都没有问题

int x = Integer.MAX_VALUE;
int y = Integer.MAX_VALUE - 15;
x = x + y;
y = x - y;
x = x - y;

抱歉!评论已关闭.