剑指 Offer 65. 不用加减乘除做加法——位运算

剑指 Offer 65. 不用加减乘除做加法

题目描述

写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。

示例:

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

解题思路

class Solution {
    public int add(int a, int b) {
        while(b != 0) { // 当进位为 0 时跳出
            int c = (a & b) << 1;  // c = 进位
            a ^= b; // a = 非进位和
            b = c; // b = 进位
        }
        return a;
    }
}

这是一篇会被对象毒打的博客

posted @ 2021-03-03 23:01  your_棒棒糖  阅读(29)  评论(0)    收藏  举报