美文网首页
从尾到头打印链表

从尾到头打印链表

作者: 程序学习er | 来源:发表于2019-03-16 23:48 被阅读0次
class Solution:
    def printListFromTailToHead(self, listNode):
        l = len(listNode) - 1
        a = 0
        new_listNode = []
        while l+1:
            new_listNode.append(listNode[l])
            l -= 1
        return new_listNode

if __name__ == '__main__':
    listNode = [1,2,3]
    a = Solution().printListFromTailToHead(listNode)
    print(a)
犯错的地方在

1、创建数组的时候创建的是创建直接a = [] 不是 a = [n],错的很低级
2、while l和while l+1
当然这可能是最蠢的方法

但是调试没有通过!!!日

分享下其他厉害思想

1、递归

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def printListFromTailToHead(self, listNode):
    # write code here 
        if listNode is None: 
            return [] 
        return self.printListFromTailToHead(listNode.next) + [listNode.val]
       #是数组和另一个数组合并的时候用+, 比如a = [1], b=[2], a+b = [1,2]
       #其余如果不是用数组合并就是用append

思路也不难,就是两个条件
1、若是空list,则直接什么都不加
2、若不是空list,则添加listNode的末尾值

2、运用栈的特性

import java.util.ArrayList;
import java.util.Stack;
public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        Stack<Integer> stack=new Stack<Integer>();
        while(listNode!=null){
            stack.push(listNode.val);
            listNode=listNode.next;     
        }

        ArrayList<Integer> list=new ArrayList<Integer>();
        while(!stack.isEmpty()){
            list.add(stack.pop());
        }
        return list;
    }
}


相关文章

  • JZ-003-从尾到头打印链表

    从尾到头打印链表 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。题目链接: 从尾到头打印...

  • 2.3.3 链表

    面试题6:从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值。

  • 06:从尾到头打印链表

    题目06:从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值。 思路 一. 栈 从头遍历链表,先访问的后...

  • 《剑指offer》— JavaScript(3)从尾到头打印链表

    从尾到头打印链表 题目描述 输入一个链表,从尾到头打印链表每个节点的值。 实现代码 相关知识 链表是一种物理存储单...

  • <<剑指offer>>--javascript(3)-从尾到头打

    从尾到头打印链表 题目描述 输入一个链表,从尾到头打印链表每个节点的值 代码如下 解题思路 链表是一种物理存储单元...

  • 从尾到头打印链表

    从尾到头打印链表 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 分析 listNode...

  • 从尾到头打印链表

    《剑指offer》面试题6:从尾到头打印链表 题目:输入一个链表的头节点,从尾到头反过来打印出每个节点的值。(链表...

  • 《剑指Offer》链表考点题解

    题目链接:从尾到头打印链表 题目简述: 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 题目思路 ...

  • 剑指Offer -- 从尾到头打印链表(C++)

    题目描述 输入一个链表,从尾到头打印链表每个节点的值。 方法1:注意是从尾到头进行打印,可利用vector的头插法...

  • Day3 剑指offer:逆序链表

    输入一个链表,从尾到头打印链表每个节点的值。

网友评论

      本文标题:从尾到头打印链表

      本文链接:https://www.haomeiwen.com/subject/wpzemqtx.html