E:\arithmetic\ReverseLink2
代码简洁
//main.c reverseLink2 递归实现
#include <stdio.h>
#include "Link.h"
void Reverse2(Node *head);
int main(int argc, char *argv[])
{
//测试用例: 多节点 单节点 NULL
int a[] = {1,2,3,4,5,6,7,8,9,0};
int b[] = {1} ;
Node *link1 = NULL;
int i;
for(i=0 ; i<10 ; i++){
addToLink(&link1, a[i]);
}
printLink(link1);
Reverse2(link1);
Node *link2 = NULL;
Reverse2(link2);
addToLink(&link2, a[0]);
printLink(link2);
Reverse2(link2);
return 0;
}
void Reverse2(Node *head){
if(head == NULL){
printf("\n");
return;
}
else{
Reverse2(head->next);
printf("%d\t", head->value);
}
}