剑指 Offer 65. 不用加减乘除做加法
Posted ai52learn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指 Offer 65. 不用加减乘除做加法相关的知识,希望对你有一定的参考价值。
写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。
示例:
输入: a = 1, b = 1
输出: 2
提示:
a, b 均可能是负数或 0
结果不会溢出 32 位整数
class Solution {
public:
int add(int a, int b) {
if(b==0) return a;
return add(a^b, (unsigned int)(a&b)<<1); //C++中负数不支持左移位,因为结果是不定的
}
};
以上是关于剑指 Offer 65. 不用加减乘除做加法的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode(剑指 Offer)- 65. 不用加减乘除做加法