面试题 16.01. 交换数字
题目
编写一个函数,不用临时变量,直接交换numbers = [a, b]中a与b的值。
示例:
输入: numbers = [1,2]
输出: [2,1]
提示:
- numbers.length == 2
- -2147483647 <= numbers[i] <= 2147483647
题解
public int[] swapNumbers(int[] numbers) {
// 三次异或交换数字
numbers[0] ^= numbers[1];
numbers[1] ^= numbers[0];
numbers[0] ^= numbers[1];
return numbers;
}