0
点赞
收藏
分享

微信扫一扫

位运算中等 LeetCode371. 两整数之和

GhostInMatrix 2022-02-03 阅读 34

371. 两整数之和

描述

给你两个整数 a 和 b ,不使用 运算符 + 和 - ​​​​​​​,计算并返回两整数之和。

分析

^ 两数异或表示两数相加且没进位
& 两数想与表示两数相加的进位且向右移1
当进位为0,说明相加结束了。

class Solution {
    public int getSum(int a, int b) {
        int sum = a;
        int progress = b;
        while(progress != 0){
            int sumtmp = sum ^ progress;
            int progresstmp = (sum & progress) << 1;
            sum = sumtmp;
            progress = progresstmp;
        }
        return sum;
    }
}
举报

相关推荐

0 条评论