首页 > 其他 > 详细

371. Sum of Two Integers

时间:2016-09-13 13:05:02      阅读:111      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!