Leetcode练习(Python):递归类:面试题 08.05. 递归乘法:递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。
题目:
递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。
思路:
递归,思路简单。
程序:
class Solution:
def multiply(self, A: int, B: int) -> int:
A, B = max(A,B), min(A,B)
result = 0
if A == 0:
return 0
elif B == 0:
return 0
else:
result = self.multiply(A,B-1)
result += A
return result
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步