python 单链表创建,遍历

python 复制代码
# !/usr/bin/python3
# -*- coding:utf-8 -*-
"""
@author: JHC000abc@gmail.com
@file: 111.py
@time: 2024/05/30 21:37:09
@desc:

"""
# 定义单链表结构
class ListNode:
    def __init__(self,value=0,next=None):
        self.value = value
        self.next = next

    def __str__(self):
        return f"{self.value}->" if self.next else str(self.value)

if __name__ == '__main__':
    # 构建链表
    node = ListNode(0)
    node1 = ListNode(1)
    node2 = ListNode(2)
    node3 = ListNode(3)
    node.next = node1
    node1.next = node2
    node2.next = node3

    # head 指针指向头节点
    head = node
    # 存储遍历结果
    res = ""
    while head:
        res += str(head)
        head = head.next
    print(res)

简化写法:

python 复制代码
# !/usr/bin/python3
# -*- coding:utf-8 -*-
"""
@author: JHC000abc@gmail.com
@file: 111.py
@time: 2024/05/30 21:37:09
@desc:

"""
# 定义单链表结构
class ListNode:
    """

    """
    def __init__(self,value=0,next=None):
        self.value = value
        self.next = next

    def __str__(self):
        return f"{self.value}->" if self.next else str(self.value)


class SingleListNode:
    """
    单链表
    """
    def __init__(self,lis):
        self.lis = lis
        self.head = ListNode(lis[0])
        self.createListNode()

    def createListNode(self):
        """
        创建
        """
        curr = self.head
        for i in range(1, len(self.lis)):
            new_node = ListNode(self.lis[i])
            curr.next = new_node
            curr = new_node

    def traverseListNode(self):
        """
        遍历
        """
        res = ""
        while self.head:
            res += f"{self.head}"
            self.head = self.head.next
        return res




if __name__ == '__main__':
    lis = [1,2,3,4,5]
    sln = SingleListNode(lis)
    print(sln.traverseListNode())
相关推荐
听潮阁1 分钟前
Python 旅游数据分析平台【源码请评论区留言】
python·数据分析·旅游
扑克中的黑桃A10 分钟前
Python快速入门专业版(八):字符串基础:创建、拼接与切片(10+实用代码案例)
python
时间醉酒14 分钟前
逻辑回归(四):从原理到实战-训练,评估与应用指南
人工智能·python·算法·机器学习·逻辑回归
枫叶丹41 小时前
【Qt开发】输入类控件(三)-> QComboBox
开发语言·qt
计算机毕设残哥1 小时前
紧跟大数据技术趋势:食物口味分析系统Spark SQL+HDFS最新架构实现
大数据·hadoop·python·sql·hdfs·架构·spark
K 旺仔小馒头1 小时前
【代码的暴力美学】-- C语言基础编程题_2
c语言·开发语言·刷题
MediaTea1 小时前
Python 编辑器:Visual Studio Code
开发语言·ide·vscode·python·编辑器
深蓝电商API1 小时前
HTML 解析入门:用 BeautifulSoup 轻松提取网页数据
前端·爬虫·python·beautifulsoup
懒羊羊不懒@1 小时前
C语言指针进阶(进阶)
java·开发语言·面试
前路不黑暗@1 小时前
Java:代码块
java·开发语言·经验分享·笔记·python·学习·学习方法