371. Sum of Two Integers
371. Sum of Two Integers
初雪之音 发表于10个月前
371. Sum of Two Integers
  • 发表于 10个月前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 两个正整数相加算法,前提:不准使用+、-运算符

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.

Hint:

    0 1 1

+   0 0 1

-----------

    0 1 0

+   0 1 0

-----------

    1 0 0

观察到只有相同位上都为1时才产生进位,我们可以通过左移实现

Code:

public class Solution {
    public int getSum(int a, int b) {
		int result = 0;

		while (b != 0) {
			int carry = (a & b) << 1;
			a = a ^ b;
			b = carry;
		}
		result = a;

		return result;
	}
}

 

 

标签: leetcode
共有 人打赏支持
粉丝 37
博文 229
码字总数 129645
×
初雪之音
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: