zoukankan      html  css  js  c++  java
  • 《剑指offer》面试题9: 从尾到头打印链表

    题目描述

    输入一个链表,按链表从尾到头的顺序返回一个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

    分分钟求解掉。

  • 相关阅读:
    mahout协同过滤算法
    如何实现团队的自组织管理
    Trail: JDBC(TM) Database Access(3)
    JavaEE5 Tutorial_JavaBean,JSTL
    JavaEE5 Tutorial_Jsp,EL
    JavaEE5 Tutorial_Servlet
    J2SE7规范_2013.2_类
    J2SE7规范_2013.2_类型_命名
    Trail: JDBC(TM) Database Access(2)
    Trail: JDBC(TM) Database Access(1)
  • 原文地址:https://www.cnblogs.com/geeksongs/p/13496197.html
Copyright © 2011-2022 走看看