递归乘法
https://leetcode.cn/problems/recursive-mulitply-lcci/
题目描述
递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。
思路分析
A * B = B个A相加 = (B - 1) * A + A
当B = 0时,直接得出结果0
当B = 1时,直接得出结果A
代码
class Solution {
public int multiply(int A, int B) {
if (B == 0) {
return 0;
}
if (B == 1) {
return A;
}
return A + multiply(A, B - 1);
}
}