英文原文
Write a function to swap a number in place (that is, without temporary variables).
Example:
Input: numbers = [1,2] Output: [2,1]
Note:
numbers.length == 2
-2147483647 <= numbers[i] <= 2147483647
中文题目
编写一个函数,不用临时变量,直接交换numbers = [a, b]
中a
与b
的值。
示例:
输入: numbers = [1,2] 输出: [2,1]
提示:
numbers.length == 2
-2147483647 <= numbers[i] <= 2147483647
通过代码
高赞题解
具体详情可以看下《357,交换两个数字的值》,这里就不在过多解析
1,使用加法
public int[] swapNumbers(int[] numbers) {
numbers[0] = numbers[0] + numbers[1];
numbers[1] = numbers[0] - numbers[1];
numbers[0] = numbers[0] - numbers[1];
return numbers;
}
2,使用减法
public int[] swapNumbers(int[] numbers) {
numbers[0] = numbers[0] - numbers[1];
numbers[1] = numbers[0] + numbers[1];
numbers[0] = numbers[1] - numbers[0];
return numbers;
}
3,使用异或运算
public int[] swapNumbers(int[] numbers) {
numbers[0] ^= numbers[1];
numbers[1] ^= numbers[0];
numbers[0] ^= numbers[1];
return numbers;
}
我把部分算法题整理成了PDF文档,截止目前总共有900多页,大家可以下载阅读
链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ
提取码:6666
如果觉得有用就给个赞吧,还可以关注我的LeetCode主页查看更多的详细题解
统计信息
通过次数 | 提交次数 | AC比率 |
---|---|---|
26652 | 32151 | 82.9% |
提交历史
提交时间 | 提交结果 | 执行时间 | 内存消耗 | 语言 |
---|