void getMulUtil(LinkNode* L, int* prod, int *n) {
if (L == NULL)
return;
getMulUtil(L->next, prod, n); ///递归,一直到NULL时返回
///递归回溯时求尾部n个结点的乘积
if (*n) {
*prod = *prod * L->data;
--*n;
}
}
int getMul(LinkNode* L, int n) {
if (L == NULL || n == 0)
return 0;
int prod = 1;
getMulUtil(L, &prod, &n); //调用递归函数求倒数n个结点的乘积
return prod;
}