思路:将原链表看成两部分,一个部分表示完成旋转的;一个部分表示未完成旋转的。分别通过两个指针desHead和resHead指向两个链表,在一次函数递归中需要完成的是将未完旋转链表的头指针 P 中的next指针指向已完成旋转队列的头结点Q.并将P添加到已完成队列,从未完成队列中移除P,该表Q当前的指向,使得Q指向新加入的结点P。一下是代码实现。
#include<stdio.h>
struct Node
{
int data;
Node*next;
};
void RevertList(Node*resHead,Node*&desHead)
{
if(resHead==NULL)
{
return ;
}
Node*temp=resHead->next;
if(desHead==NULL)
{
desHead=resHea