371. 两整数之和

不使用运算符 + 和 - ​​​​​​​,计算两整数 ​​​​​​​a 、b ​​​​​​​之和。

示例 1:

输入: a = 1, b = 2

输出: 3

示例 2:

输入: a = -2, b = 3

输出: 1

PS:

   sum = a ^ b;  //异或这里可看做是相加但是不显现进位,比如5 ^ 3
/*0 1 0 1
0 0 1 1
------------
0 1 1 0
上面的如果看成传统的加法,不就是1+1=2,进1得0,但是这里没有显示进位出来,仅是相加,0+1或者是1+0都不用进位*/ carry = (a & b) << 1; //相与为了让进位显现出来,比如5 & 3
/* 0 1 0 1
0 0 1 1
------------
0 0 0 1
上面的最低位1和1相与得1,而在二进制加法中,这里1+1也应该是要进位的,所以刚好吻合,但是这个进位1应该要再往前一位,所以左移一位*/
class Solution {
public int getSum(int a, int b) {
return b == 0 ? a : getSum(a^b,(a&b)<<1);
}
}

最新文章

  1. c#多态性
  2. LNMP环境magento常见错误
  3. springmvc之格式化要显示的小数或者日期。
  4. UDPClient的用法
  5. overlay-1
  6. SparkSQL基础应用(1.3.1)
  7. easyui dialog
  8. iOS开发中图片方向的获取与更改
  9. IE兼容HTML5
  10. Android UI布局TableLayout
  11. WP8加入自己定义铃声
  12. 字符串和整形数组的相互转化(JAVA程序)
  13. bs4解析要获取被注掉的部分需先将注释符号去掉
  14. 学习React系列(七)——Fragments、Portals、Error Boundaries与WEB组件
  15. 玩转spring MVC(九)---Spring Data JPA
  16. LeetCode--458--可怜的小猪
  17. TouchSlide 插件参数
  18. Import VMware ESXi from VirtualBox
  19. sencha touch 2.3.1 list emptyText不显示
  20. Border属性的各种变化

热门文章

  1. JAVA知识总结(四):单例模式和多态
  2. JS字符串截取 “指定字符” 前面和后面的内容!
  3. Spring Boot 入门(十三):集成Hasor的Dataway模块,干掉后台,自动配置接口
  4. 一道题带你搞定Python函数中形参和实参问题
  5. 仅需60秒,使用k3sup快速部署高可用K3s集群
  6. nginx default server
  7. promise对象里resolve和reject状态讲解及Promise.all()的使用
  8. 5.2 Go 包与函数
  9. Django之请求生命周期
  10. Antd 修改主题颜色填坑记录