当前位置:   article > 正文

【leetcode】 两整数之和, 不用+-号,如何实现两数相加_两数相加 不用+

两数相加 不用+

题目:

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

示例 1:

输入: a = 1, b = 2
输出: 3

示例 2:

输入: a = -2, b = 3
输出: 1

 

思路:

a ^ b是无进位的相加; a&b得到每一位的进位;让无进位相加的结果与进位不断的异或, 直到进位为0;

java代码:

  1. class Solution {
  2. int getSum(int a, int b) {
  3. while ((a & b) !=0) {
  4. int n = a;
  5. int m = b;
  6. a = n ^ m;
  7. b = (n & m) << 1;
  8. }
  9. return a ^ b;
  10. }
  11. }

由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!

推荐阅读:

【leetcode】电话号码的字母组合

【leetcode-动态规划】爬楼梯  - CSDN博客

【leetcode-动态规划】买卖股票的最佳时机  - CSDN博客

【leetcode-动态规划】最大子序和 

【leetcode-动态规划】 不同路径  - CSDN博客

【leetcode-动态规划】打家劫舍  

 

及时更新最新文章和学习资料,一起来学习:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/175655
推荐阅读
相关标签
  

闽ICP备14008679号