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

比如,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;
    }
};

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zyn2609530/article/details/51559014
文章标签: 刷题 位运算
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭