在力扣 App 中打开
注册
或
登录
Plus
会员
调试中...
运行
提交
题目描述
题目描述
题解
题解
提交记录
提交记录
3
代码
代码
1
测试用例
测试用例
测试结果
测试结果
2
面试题 17.01. 不用加号的加法
简单
相关标签
相关企业
提示
设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。
示例:
输入:
a = 1, b = 1
输出:
2
提示:
a
,
b
均可能是负数或 0
结果不会溢出 32 位整数
通过次数
29.8K
提交次数
46.3K
通过率
64.4%
相关标签
位运算
数学
相关企业
提示 1
手动(慢慢地)完成二进制加法,尝试真正理解发生了什么。
提示 2
你可以把二进制加法看成是对数字的每一位进行迭代、两位进行加和,并在必要时进位。你也可以对操作进行分组。如果首先对每位相加(不进位)会怎样?之后,你可以再处理进位。
提示 3
只关注上面的一个步骤。如果你“忘记”进位,那么加法操作会是什么样子?
提示 4
仅相加步骤就可以做如下转化:1 + 1 -> 0,1 + 0 -> 1,0 + 1 -> 1,0 + 0 -> 0。没有+号要怎么做?
提示 5
可以使用XOR执行加法步骤。
提示 6
现在关注进位。在什么情况下两个值会进位?如何使用进位?
提示 7
进位在1 + 1时发生。如何将进位应用到数值中?
提示 8
可以用AND运算来计算进位。如何使用它?
提示 9
你可能需要不止一次地执行加法/进位操作。将进位加到和中可能会产生新的进位值
评论 (0)
《程序员面试金典(第 6 版)》独家授权
本书是原谷歌资深面试官的经验之作,帮助了许多想要加入脸书、苹果、谷歌等 IT 名企的求职者拿到 Dream offer。本专题的 100+ 编程面试题是在原书基础上精心挑选出来的,帮助你轻松应战 IT 名企技术面试。
© 2025 领扣网络(上海)有限公司
106
0
0 人在线
行 1,列 1
Case 1
a =
1
b =
2
9
1
2
›
1
2
Source
FindHeaderBarSize
FindTabBarSize
FindBorderBarSize