【每日一题】面试题 16.01. 交换数字 Jelon 发表于 2020-05-18 编写一个函数,不用临时变量,直接交换 numbers = [a, b] 中 a 与 b 的值。 示例: 12输入: numbers = [1,2]输出: [2,1] 提示: numbers.length == 2 个人解答1234567891011/** * @param {number[]} numbers * @return {number[]} */// 做减法var swapNumbers = function(numbers) { numbers[1] = numbers[0] - numbers[1]; numbers[0] = numbers[0] - numbers[1]; numbers[1] = numbers[0] + numbers[1]; return numbers}; 解题思路使用减法思路。 以 a、b 为例:a = 1; b = 2 第一遍:b(临时) = a - b;第二遍:a = a - b(临时); // 得出 a = 原b;第三遍:b = a(原b) + b(临时:原a - 原b); // 得出 b = 原a; -- EOF -- 分类: 算法练习 标签: LeetCode / 算法