題目描述
輸入一個鏈表,按鏈表從尾到頭的順序回傳一個ArrayList,解題思路:
這個題目沒有說清楚到底回傳的是什么,在代碼當中傳入進來的值是一個Node物件,也就是鏈表當中的一個節點,它具有兩個值,一個值是它本身所具有的值,另外一個值則是它所指向的下一個節點的地址,我們只要通過利用這個next指向下一個Node的屬性,就可以很好的得到每一個節點所具有的值,然后題目當中隱含的意思是讓我們回傳一個從尾到頭的鏈表的值所組成的鏈表,而不是把一系列鏈表物件倒過來,因此代碼非常簡單,如下所示:
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 回傳從尾部到頭部的串列值序列,例如[1,2,3] # 這個題目沒有把條件說清楚,因此有很多種可能啊! # listNode不是一連串的Node而是Node的頭.... def printListFromTailToHead(self, listNode): # write code here ls=[] while listNode: ls.append(listNode) listNode=listNode.next ls_two=[] i=len(ls)-1 while i>=0: ls_two.append(ls[i].val) i-=1 return ls_two
分分鐘求解掉,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/3871.html
標籤:其他
