首页 > 其他 > 详细

剑指offer 链表(下)

时间:2020-03-03 17:47:16      阅读:59      评论:0      收藏:0      [点我收藏+]

T24-反转链表

非递归写法 py2

对于看似复杂的问题,看分解的每一部分怎么操作也许是最好的方法。 此题也是,只关注链表的每个节点,这个单向链表的节点,它的后节点指向变为哪里,而不关心多个节点是怎样连接的。

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    # 返回ListNode
    def ReverseList(self, pHead):
        # write code here
        if not pHead or not pHead.next:
            return pHead
        ppre,pnext=None,None
        p = pHead
        while p:
            pnext = p.next
            p.next = ppre
            ppre = p
            p = pnext
        return ppre

递归写法 py2

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    # 返回ListNode
    def ReverseList(self, pHead):
        # write code here
        return self._reverse(pHead,None)
    def _reverse(self,node,prev=None):
        if not node:
            return prev
        n = node.next
        node.next = prev
        return self._reverse(n,node)

剑指offer 链表(下)

原文:https://www.cnblogs.com/yxl-2018/p/12403513.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!