剑指Offer--(4)从尾到头打印链表


title: 剑指Offer--(4)从尾到头打印链表

categories: 算法与数据结构

tags: 数据结构


题目描述

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

解题思路

注意了解清楚链表的结构,以及列表的插入操作可以指定位置。

解法1

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

class Solution:
   # 返回从尾部到头部的列表值序列,例如[1,2,3]
   def printListFromTailToHead(self, listNode):
       # write code here
       l =[]
       head = listNode
       while head :
           
               l.insert(0,head.val)
               head = head.next
       return l

解法2

正常写入列表,采用[::-1]的方式逆序读出

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

class Solution:
   # 返回从尾部到头部的列表值序列,例如[1,2,3]
   def printListFromTailToHead(self, listNode):
       # write code here
       l = list()
       while listNode:
           l.append(listNode.val)
           listNode = listNode.next
       return l[::-1]

你可能感兴趣的:(剑指Offer--(4)从尾到头打印链表)