371-两整数之和

两整数之和

题目

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

示例 1:

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

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

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

思路

不能使用加减,因此判断需要使用位运算来操作.两数相加,可以将两数先异或运算,如果没有相同的位数,则已经实现相加.如果有相同的位数,则需要将原有相同的位数进位.因此步骤需要先异或,然后与操作并向左移一位使之进位.最后直到没有相同的位数就结束

代码

class Solution {
    public int getSum(int a, int b) {
        while (b != 0){
            int temp = a ^ b;
            b = (a & b)<<1;
            a = temp;
        }
        return a;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目描述 不使用运算符 + 和 - ​​​​​​​,计算两整数 ​​​​​​​a 、b ​​​​​​​之和。 示例...
    zhipingChen阅读 2,593评论 0 0
  • 题目描述: 不使用运算符+ 和-​​​​​​​,计算两整数​​​​​​​a、b​​​​​​​之和。 示例 1: 输...
    小刘一定要努力阅读 780评论 0 0
  • 题目 难度:★★☆☆☆类型:数学 不使用运算符 + 和 - ​​​​​​​,计算两整数 ​​​​​​​a 、b ​...
    玖月晴阅读 5,849评论 0 0
  • 不使用运算符+和-​​​​​​​,计算两整数​​​​​​​a、b​​​​​​​之和。 输入: a = 1, b =...
    不胖二十斤不改名zz阅读 721评论 0 0
  • 2019.3.5星期二天气晴 亲子日记第363天 《父母规》第338天 赶紧写日记,再晚就断更了!虽然胸无点...
    爱腾睿阅读 2,540评论 4 9