题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
思路1(超时)
- 两个数进行异或,可以做不进位的加法
- 通过与运算和左移可以实现进位
- 进位的数和异或的结果接着进行异或
- 直到不再产生进位,返回结果
# -*- coding:utf-8 -*-
class Solution:
def Add(self, num1, num2):
# write code here
while num2>0:
res=num1^num2
num2=(num1&num2)<<1
num1=res
return res
思路2
- python内置函数sum
# -*- coding:utf-8 -*-
class Solution:
def Add(self, num1, num2):
return sum([num1,num2])