我正在学习课本上的期末考试。我需要这个问题的答案,因为我无法解决它。
1) 编写函数 multiply(int a, int b) 的递归定义,它接受两个整数并返回它们相乘的结果。
我回答了:
Multiply(a, b) :
0 - if a or b is equal to zero. (I got -1 here. Reason written: only 1)
a * b - (I didn't know what to write here)
2) 编写一个递归方法,该方法接受一个整数链表并返回其元素的总和。
我的解决方案是:
int sumList(Node<Integer> list) {
int temp = list.getInfo();
if(temp == null) {
return 0;
} else {
return temp + sumList(temp.getNext);
}
}
我修好了,我想:
public int sumList(Node<Integer> list) {
Node<Integer> temp = list;
if(temp == null) {
return 0;
} else {
return temp.getInfo() + sumList(temp.getNext());
}
}
问题2的解决方案正确吗?