> For the complete documentation index, see [llms.txt](https://dfine.gitbook.io/leetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dfine.gitbook.io/leetcode/interview_1601.md).

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