您的位置:首页 > 职场人生

面试之路(2)-百度算法题

2016-04-16 23:09 429 查看

题目:

实现Swap(int a,int b)要求是不使用临时变量,可以使用四则运算和异或等运算


思路:

可以使用异或,如果如何int值和0异或等于自身,而且int值和自身异或结果是零,符合交换律

加法的思路是也是一样,先加上后减去,也是等于自身

答案:

异或:(异或用^表示)

swap(int a,int b){
a = a ^ b;
b = a ^ b;
a = a ^ b;
}


加法

swap(int a,int b){
a = a + b;
b = a - b;
a = a - b;
}


加法和乘法

swap(int a,int b){
a = (b) + (b = a)* 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 百度 面试 swap