我们假设单向链表的节点如下:









这个题目算是考察数据结构的最基础的题目了,有两种方法可以解此题:
方法一:


















这是一般的方法,总之就是用了几个临时变量,然后遍历整个链表,将当前节点的下一节点置为前节点。
注释:
链表反转最好画个图,光看代码对于新新手来说,确实是一个迷糊。
链表正常的顺序是前一个节点的NEXT指向后一个节点。反转就是要将后一个节点的next指向前一个节点,
所以pCur->next = pprev; 完成了这一个功能。但这只是完成了两个节点的反转,所以对应的要将当前
节点的next保存下来pNext = pcur->next;,用来当作下一次的当前节点PCur = Pnext;在下一次反转中,当前节点
就变成了下一次反转中的前节点。pPrev = pCur;
一直到当前节点为NULL,也就是全部转化为止;
方法二:















