面试题 16.01

面试题16.01 交换数字

难度:Medium

编写一个函数,不用临时变量,直接交换numbers = [a, b]中a与b的值。

示例:
输入: numbers = [1,2]
输出: [2,1]
提示:
numbers.length == 2

直接异或

class Solution {
public:
vector<int> swapNumbers(vector<int>& numbers) {
numbers[0] ^= numbers[1];
numbers[1] ^=numbers[0];
numbers[0] ^= numbers[1];
return numbers;
}
};

执行用时 :4 ms, 在所有 C++ 提交中击败了48.49%的用户 内存消耗 :7.2 MB, 在所有 C++ 提交中击败了100.00%的用户