加载中...
面试题 16.01-交换数字(Swap Numbers LCCI)
发表于:2021-12-03 | 分类: 中等
字数统计: 94 | 阅读时长: 1分钟 | 阅读量:

原文链接: https://leetcode-cn.com/problems/swap-numbers-lcci

英文原文

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]ab的值。

示例:

输入: numbers = [1,2]
输出: [2,1]

提示:

  • numbers.length == 2
  • -2147483647 <= numbers[i] <= 2147483647

通过代码

高赞题解

image.png

具体详情可以看下《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%

提交历史

提交时间 提交结果 执行时间 内存消耗 语言
上一篇:
面试题 10.05-稀疏数组搜索(Sparse Array Search LCCI)
下一篇:
面试题 16.02-单词频率(Words Frequency LCCI)
本文目录
本文目录