题目链接:点击打开链接
题目大意:略。
解题思路:注意:参数传进来的 L,和 return L,都是有带头节点的。
AC 代码
// 从头节点下一个节点,和再下一个节点开始,把它们的箭头指向反一下即可,最后到了末尾再把原来的尾巴指向头即可
List Reverse( List L )
{
if(!L || !(L->Next) || !(L->Next->Next)) return L;
PtrToNode nd, p=L->Next->Next, nx=L->Next;
nx->Next=NULL; // 为return时候的末尾为NULL,否则会TLE
while(p)
{
nd=p->Next; // 暂时保存,下面会用到
p->Next=nx;
nx=p;
p=nd;
}
L->Next=nx;
return L;
}