面试之路(2)-百度算法题
面试之路(2)-百度算法题
fengsehng 发表于1年前
面试之路(2)-百度算法题
  • 发表于 1年前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

题目:

实现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;
}
共有 人打赏支持
粉丝 4
博文 284
码字总数 214494
×
fengsehng
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: