题解 | #反转链表#
反转链表
http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
问题如下
1→2→3→4→5
需要变成
5→4→3→2→1
实现的方法如下,所以需要保留下一个节点的nex指针。
1←2
2→3→4→5
假设当前的指针为cur,前面的指针为pre,指向后面的指针为nex,也就是说
pre->next = cur cur->next = nex
我们想要实现的结果是
cur->next = pre nex->next = cur
所以对应的方法是中间变量为cur,对应的结果是
while(cur!=NULL) { nex = cur->next; cur->next = pre; pre = cur; cur=nex; }