Leetcode--Add to List 371. Sum of Two Integers

xiaoxiao2021-02-28  17

题目

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. 不使用+ - 实现加法

思路

位运算来实现

代码

递归版本

class Solution { public: int getSum(int a, int b) { if(b == 0) return a; return getSum(a^b, (a&b)<<1); } };

非递归版

class Solution { public: int getSum(int a, int b) { while(b) { int carry = a & b; a = a ^ b; b = carry << 1; } return a; } };
转载请注明原文地址: https://www.6miu.com/read-1099981.html

最新回复(0)