Lintcode:A + B 问题
2017-12-05 14:23
375 查看
给出两个整数a和b, 求他们的和, 但不能使用
a和b都是
是的
我可以使用位运算符么?
当然可以
样例
如果
python:
C++:
+等数学运算符。
a和b都是
32位整数么?
是的
我可以使用位运算符么?
当然可以
样例
如果
a=1并且
b=2,返回
3
python:
class Solution: """ @param: a: An integer @param: b: An integer @return: The sum of a and b """ def aplusb(self, a, b): # write your code here sum = 0 carry = 0 for i in range(32): a1 = a & 1 b1 = b & 1 val = 0 if a1== 0 and b1 ==0 and carry ==0: val =0 carry = 0 elif a1 == 1 and b1 == 1 and carry ==1: val =1 carry =1 elif a1 == 0 and b1 ==0 or a1==0 and carry ==0 or b1 ==0 and carry ==0: val = 1 carry = 0 else: val = 0 carry = 1 val = val << i sum = sum|val a = a>>1 b = b>>1 return sum
C++:
class Solution { public: /* * @param : An integer * @param : An integer * @return: The sum of a and b */ int aplusb(int a, int b) { // write your code here if(a==0) return b; if(b==0) return a; int x1 = a ^ b; int x2 = (a & b) << 1; return aplusb(x1, x2); } };
相关文章推荐
- lintcode(399)Nuts 和 Bolts 的问题
- lintcode backpack 背包问题
- LintCode 关于排序问题的总结
- lintcode-背包问题II-125
- lintcode刷题 A + B 问题 位运算
- Lint-code 用栈模拟汉诺塔问题
- LintCode-A + B 问题
- LintCode_1_A + B 问题
- LintCode——1. A + B 问题
- lintcode 中等题:A + B Problem A + B 问题
- lintcode 子数组问题(最全的面试子数组问题)
- LintCode之1 A+B问题
- LintCode:背包问题
- LintCode 链表求和 问题解答
- LintCode 1.A+B问题
- LintCode A+b问题
- lintcode -- 背包问题
- LintCode 33-N皇后问题
- LintCode-A + B 问题
- LintCode 1. A + B 问题