Leetcode-面试题 16.01. 交换数字

面试题 16.01. 交换数字

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

解题报告:

位运算的灵活运用,利用一下两条性质稍微想一下就可以了。

\(x^{\wedge} x=0\)

\(x^{\wedge} 0=x\)

class Solution {
public:
    vector<int> swapNumbers(vector<int>& numbers) {
        numbers[0]^=numbers[1];
        numbers[1]=numbers[0]^numbers[1];
        numbers[0]=numbers[0]^numbers[1];
        return numbers;
    }
};
posted @ 2021-08-08 15:16  dinghao1262  阅读(38)  评论(0)    收藏  举报