Skip to content

Files

Latest commit

fa73a73 · Jan 16, 2024

History

History

17.01.Add Without Plus

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jan 16, 2024
Jan 16, 2024
Jun 21, 2020

English Version

题目描述

设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。

示例:

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

 

提示:

  • ab 均可能是负数或 0
  • 结果不会溢出 32 位整数

解法

方法一

class Solution {
    public int add(int a, int b) {
        int sum = 0, carry = 0;
        while (b != 0) {
            sum = a ^ b;
            carry = (a & b) << 1;
            a = sum;
            b = carry;
        }
        return a;
    }
}