码迷,mamicode.com
首页 > 其他好文 > 详细

371. Sum of Two Integers

时间:2016-09-13 13:06:12      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:

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

标签:

原文地址:http://www.cnblogs.com/Machelsky/p/5867777.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!