因为用python比较多,python里常用list,所以看到倒序就会想到reverse或者[::-1]
于是诞生了下面的写法,逻辑很简单,就是先把pHead的放出来装到list medium中,medium再倒序,然后再把medium里的值一个一个装进新的ListNode res里,
因为要求输出结果的链表首字母,所以用一个temp来指向res当替死鬼,挨个赋值,最后temp指向的是链表末端,而res依然指向链表首端,注意res.next输出结果,因为第一个0不是我们要的
# -*- coding:utf-8-*-
# classListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
classSolution:
    # 返回ListNode
    def ReverseList(self, pHead):
        # write code here
        ifpHead == None or pHead.next == None:
            returnpHead
        medium = []
        while pHead:
            medium.append(pHead.val)
            pHead = pHead.next
        medium.reverse()
        res = ListNode(0)
        temp = res
        fori in medium:
            temp.next = ListNode(i)
            temp = temp.next
        return res.next
其实最后得地方也可以用栈的思想,因为栈就是先进后出,
        while medium:
            temp.next = ListNode(medium.pop())
            temp = temp.next
        return res.next