为了账号安全,请及时绑定邮箱和手机立即绑定

【leetcode74】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.

方法一:用位运算模拟加法
思路1:
  • 异或又被称其为“模2加法“
  • 设置变量recipe模拟进位数字,模拟加法的实现过程
代码:

这里写图片描述

方法二:异或求值
思路二:
  • a^b,求得结果
  • a&b,求得进位
  • 相加
代码:
public class Solution {
    public int getSum(int a, int b) {
        while (b != 0) {
            int c = a & b; //carry
            a ^= b; //add 
            b = c << 1;
        }
        return a;
    }
}
更多的leetcode的经典算法,查看我的leetcode专栏
点击查看更多内容
5人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
424
获赞与收藏
5663

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消