371. Sum of Two Integers

Posted Machelsky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了371. Sum of Two Integers相关的知识,希望对你有一定的参考价值。

Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.

Example:
Given a = 1 and b = 2, return 3.

思路:xor相加存无carray的sum,and左移一位为carry,两者相加即可。

11 + 11

11^11=00 , (11&11)<<1=110 

00^110=110

之后总结一下bit的几种常见用法。

参考discussion,自己再实现一遍!

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

 

以上是关于371. Sum of Two Integers的主要内容,如果未能解决你的问题,请参考以下文章

371. Sum of Two Integers

371. Sum of Two Integers

LeetCode(371) Sum of Two Integers

371. Sum of Two Integers

371. Sum of Two Integers

371. Sum of Two Integers