题目的重点是:实现把一个结点直接插在头结点之前。直接去插入实现起来很复杂,而且删除结点也比较麻烦,于是先设定一个空指针rev = None,通过遍历链表一步步插入。
代码# DeFinition for singly-linked List.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def reverseList(self, head: ListNode) -> ListNode: rev = None while head: rev,rev.next,head = head,rev,head.next return rev#循环里的交换语句在交换时不影响其他交换的值,另一种写法如下# DeFinition for singly-linked List.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def reverseList(self, head: ListNode) -> ListNode: rev = None while head: new = rev rev = head head = head.next rev.next = new return rev
总结 以上是内存溢出为你收集整理的python链表反转全部内容,希望文章能够帮你解决python链表反转所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)