关闭

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

标签: 刷题位运算
76人阅读 评论(0) 收藏 举报

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10481次
    • 积分:799
    • 等级:
    • 排名:千里之外
    • 原创:72篇
    • 转载:2篇
    • 译文:0篇
    • 评论:1条