page contents

如何对链表进行重新排序?

轩辕小不懂 发布于 2022-03-24 16:27
阅读 538
收藏 0
分类:人工智能

给定链表L0->L1->L2…Ln-1->Ln,把链表重新排序为L0->Ln->L1->Ln-1->L2->Ln-2…。要求:1)在原来链表的基础上进行排序,即不能申请新的结点;2)只能修改结点的next域,不能修改数据域。

最佳答案 2022-03-25 17:15

3369
Nen
Nen
- 程序员

主要思路为:

1)首先找到链表的中间结点;

2)对链表的后半部分子链表进行逆序;

3)把链表的前半部分子链表与逆序后的后半部分子链表进行合并。合并的思路为:分别从两个链表各取一个结点进行合并。

请先 登录 后评论