Python社区  »  Python

在python中,给定一个单独的linkedlist,将它分成两半(大约中间值)并将每一半倒转

swapd • 1 周前 • 8 次点击  

我可以倒过来,但对如何访问linkedlist的中值感到困惑

def reverseLinkedList(head):

    current =  head
    previous = None
    nextNode = None

    while current:
        nextNode = current.nextNode
        current.nextNode = previous

        previous = current
        current = nextNode

    return previous

有人能帮忙解决吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40230
 
8 次点击  
分享到微博
文章 [ 1 ]  |  最新文章 1 周前
Trevor K
Reply   •   1 楼
Trevor K    6 月前

链接列表不支持随机访问。因此,除非您提前知道通过代码中的节点结构/定义来标记链表或中间节点中元素的数量,否则您将无法在不迭代的情况下获取它。

如果您知道链表中元素的数量,您只需迭代其中的一半,否则您将不得不迭代整个列表,跟踪一个计数,然后再次迭代以计数除以2。