要求写一个函数,给定一个固定的单链表,输入begin end,将下标在两数之间的内容逆置。
如单链表0->3->6->9->12->15->18 输入 2 4 输出 0->3->12->9->6->15->18 。
已经写出逆置函数,打算把begin end作为你逆序算法的链表头和尾来处理,不过后续不知道怎么改了。。。求助各位大神了!
void reverse(int begin,int end,List *&head)
{
{
List *new1=NULL,*now,*old;
old=head;
while(old!=NULL)
{
now=old;
old=old->next;
now->next=new1;
new1=now;
}
head=new1;
}
}
Leetcode上的原题. 到这里看看吧
https://leetcode.com/discuss/questions/oj/reverse-linked-list-ii?start...
我的代码
记事本上写的, 不保证100%对...