Python 从尾到头打印链表

用Python实现链表的顺序打印:

# -*- coding:utf-8 -*-
# -*- coding:utf-8 -*-
class ListNode:
    def __init__(self, x):
        self.val = x
        self.next = None


class Solution:
    def printListFromTailtoHead(self, listNode):
        ret = []
        pTmp = listNode
        while pTmp:
            ret.insert(0, pTmp.val)
            pTmp = pTmp.next
        return ret


if __name__ == '__main__':
    l1 = ListNode(1)
    l2 = ListNode(2)
    l3 = ListNode(3)
    l4 = ListNode(4)
    l5 = ListNode(5)
    l1.next = l2
    l2.next = l3
    l3.next = l4
    l4.next = l5
    l5.next = None
    s = Solution()
    ret = s.printListFromTailtoHead(l1)
    for i in ret:
        print(i)

运行结果为:

1
2
3

输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。

# -*- coding:utf-8 -*-
class ListNode:
    def __init__(self, x):
        self.val = x
        self.next = None


class Solution:
    def printListFromTailtoHead(self, listNode):
        ret = []
        pTmp = listNode
        while pTmp:
            ret.insert(0, pTmp)
            pTmp = pTmp.next
        return ret


if __name__ == '__main__':
    l1 = ListNode(1)
    l2 = ListNode(2)
    l3 = ListNode(3)
    l4 = ListNode(4)
    l5 = ListNode(5)
    l1.next = l2
    l2.next = l3
    l3.next = l4
    l4.next = l5
    l5.next = None
    s = Solution()
    ret = s.printListFromTailtoHead(l1)
    for i in ret:
        print(i.val)

运行结果为:

5
4
3
2
1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章