JZ3如何从尾到头打印链表

发布时间:2022-01-15 13:47:26 作者:柒染
来源:亿速云 阅读:149

本篇文章为大家展示了JZ3如何从尾到头打印链表,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

从尾到头打印链表

题目:

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

核心代码

# -*- 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
        l.reverse()
        return l

调试代码

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

# -*- coding:utf-8 -*-

'''
定义一个节点的类
'''
class ListNode:
    def __init__(self, x):
        # 指向节点的值
        self.val = x
        # 指向下一个节点
        self.next = None

# 工具类(传入节点,返回逆序列表)
class Solution:
    # 返回从尾部到头部的列表值序列,例如[1,2,3]
    def printListFromTailToHead(self, listNode):
        l = []
        # 判断节点是否存在,如果存在,将节点的值存入列表,并指向下一个节点
        while listNode:
            l.append(listNode.val)
            listNode = listNode.next
        l.reverse()
        return l

if __name__ == '__main__':
    # 实例化几个新节点,并赋初始值
    node1 = ListNode(1)
    node2 = ListNode(2)
    node3 = ListNode(3)
    # 建立列表间的指向关系
    node1.next = node2
    node2.next = node3
    # 实例化工具类
    solution = Solution()

    # 输出返回值
    a = solution.printListFromTailToHead(node1)
    print(a)

上述内容就是JZ3如何从尾到头打印链表,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. 【剑指Offer第三题】从尾到头打印链表
  2. 链表升序排列(尾插)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:网络控制继电器有什么用

下一篇:springboot整合quartz定时任务框架的方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》