数据结构习题——将链表L(a1,a2,a3,...,an-2,an-1,an)改造成(a1,an,a2,an-1,a3,an-2,...)
前言王道2019统考真题正文题目设链表L(a1,a2,a3,…,an-2,an-1,an)采用头结点的单链表保存请设计一个空间复杂度为O(1)时间上尽可能高效的算法,重新排列L,得到线性表变成(a1,an,a2,an-1,a3,an-2,…)关键先找出链表L的中间点,为此设置了两个指针p和q,指针p每次走一步,q每次走两步,当指针q达到链尾时,指针p正好在链表的中间点然后将L的后半部分原地逆置从单