【刷题之路】不使用额外空间交换两个数

来源:互联网 发布:淘宝html5模板 编辑:程序博客网 时间:2024/06/05 00:59

比如,a,b,利用位运算异或的性质,1、相同的两个数异或结果为0,2、任何数与0异或都等于其本身

利用a=a^b, b=a^b, a=a^b;即可以成功交换两个数

class Swap {
public:
    vector<int> getSwap(vector<int> num) {
        // write code here
        num[0]=num[0]^num[1];
        num[1]=num[0]^num[1];
        num[0]=num[0]^num[1];
        return num;
    }
};

0 0
原创粉丝点击