当前位置:   article > 正文

【LeetCode击败99%+】不使用加号和减号计算两整数之和

【LeetCode击败99%+】不使用加号和减号计算两整数之和

题目

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

示例 1:

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

示例 2:

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

代码

class Solution {
    public int getSum(int a, int b) {
        while(b != 0){
        	//相当于不算进位情况下算两数之和,二进制每位相加就相当于各位做异或操作
            int temp = a ^ b; 
            // 相当于计算每位上的进位
            b = (a & b) << 1; 
            a = temp;
        }
        return a;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

结果

用时内存
击败100.00%击败56.64%

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/roman-to-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

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

闽ICP备14008679号