单链表的部分逆置问题。
要求写一个函数,给定一个固定的单链表,输入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;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Leetcode上的原题. 到这里看看吧
https://leetcode.com/discuss/questions/oj/reverse-linked-list-ii?start...
我的代码
记事本上写的, 不保证100%对...
这样吧,我只写思路了.
你定义一个计数变量count,然后从List头部开始遍历List,同时count++