将不带节点的单链表就地逆置
答案:3 悬赏:10 手机版
解决时间 2021-03-10 16:20
- 提问者网友:人生佛魔见
- 2021-03-09 20:27
这是啥意思啊 具体点啊
最佳答案
- 五星知识达人网友:零点过十分
- 2021-03-09 20:52
应该是不带头结点吧.正确做法是从第二个结点开始,依次将各结点从链表中删除,并插到头结点前面成为新的头结点.
全部回答
- 1楼网友:青尢
- 2021-03-09 22:38
list* _reverse(list* curr, list** head)
{
list* rcurr = new list;
rcurr->data = curr->data;
if(curr->next) {
_reverse(curr->next, head)->next = rcurr;
} else
*head = rcurr;
return rcurr;
}
list* reverse(list* alist)
{
list* head;
_reverse(alist, &head)->next = null;
return head;
}
用法:
如有不带头单链表a
list* ra = reverse(a);
- 2楼网友:零点过十分
- 2021-03-09 22:01
不带节点???不带头结点吧?就地的意思应该是不开新的辅助空间。。直接对链表进行操作。两两对换。。例如。1换10 2换9
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯