题目描述
设计一个算法,将链表中所有结点的链接方向“原地”逆转,即要求利用原表的存储空间,换句话说,要求算法的空间复杂度为O(1)。
样例输入 Copy
6 4 3 -3 -1 234 4355样例输出 Copy
4,3,-3,-1,234,4355 4355,234,-1,-3,3,4
思路:
代码实现:
void Inverse(LinkList &L)
{
/****在此下面完成代码***************/
LinkList ptr1=new LNode, ptr2=new LNode, ptr3=new LNode;
ptr1 = NULL;
ptr2 = L->next;
ptr3 = ptr2->next;
while(ptr3){
ptr2->next = ptr1;
ptr1 = ptr2;
ptr2 = ptr3;
ptr3 = ptr2->next;
}
ptr2->next = ptr1;
L->next = ptr2;
/***********************************/
}