面试题 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%的用户

Last updated