typedef int T;
//单向链表的节点
typedef struct SNode{
T data; //节点的元素
struct SNode *next; //下一个节点的内存位置 NULL表示后面没有节点了
}SNode;
typedef struct SNode * SLink;//SLink 单向链表类型
//单向链表 只需要记住 首节点的内存位置即可
SLink slink_reverse(SLink link){//head
if(link->next == NULL || link->next->next == NULL){
return link;
}
SNode *prevNode = link->next;
SNode *currNode = link->next->next;
while(currNode != NULL){
SNode *nextNode = currNode->next;
currNode->next = prevNode;
prevNode = currNode;
currNode = nextNode;
}
link->next->next = NULL;
//SNode *fnode = link->next;
//fnode->next = NULL;
link->next = prevNode;
return link;
}