python listnode.val(Python算法)

在做leetcode简单题的时候发现了python的listcode,记录一下。源自:https://www.cnblogs.com/yuanmingzhou/p/9661152.htmlclassNode(object):def__init__(self):self.val=Noneself.next=NoneclassNode_handle():def__init__(self):self.cur_n

大家好,又见面了,我是你们的朋友全栈君。

在做leetcode简单题的时候发现了python的listcode,记录一下。

源自:

https://www.cnblogs.com/yuanmingzhou/p/9661152.html

class Node(object):
    def __init__(self):
        self.val = None
        self.next = None

class Node_handle():
    def __init__(self):
        self.cur_node = None
  # 查找
    def find(self,node,num,a = 0):
        while node:
            if a == num:
                return node
            a += 1
            node = node.next
  # 增加
    def add(self,data):
        node = Node()
        node.val = data
        node.next = self.cur_node
        self.cur_node = node
        return node
  # 打印
    def printNode(self,node):
        while node:
            print ('\nnode: ', node, ' value: ', node.val, ' next: ', node.next)
            node = node.next
   # 删除
    def delete(self,node,num,b = 1):
        if num == 0:
            node = node.next
            return node
        while node and node.next:
            if num == b:
                node.next = node.next.next
            b += 1
            node = node.next
        return node
  # 翻转
    def reverse(self,nodelist):
        list = []
        while nodelist:
            list.append(nodelist.val)
            nodelist = nodelist.next
        result = Node()
        result_handle =Node_handle()
        for i in list:
            result = result_handle.add(i)
        return result

if __name__ == "__main__":
    l1 = Node()
    ListNode_1 = Node_handle()
    l1_list = [1, 8, 3]
    for i in l1_list:
        l1 = ListNode_1.add(i)
    ListNode_1.printNode(l1)
    l1 = ListNode_1.delete(l1,0)
    ListNode_1.printNode(l1)
    l1 = ListNode_1.reverse(l1)
    ListNode_1.printNode(l1)
    l1 = ListNode_1.find(l1,1)
    ListNode_1.printNode(l1)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127272.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java项目介绍_java项目介绍及创建[通俗易懂]

    java项目介绍_java项目介绍及创建[通俗易懂]大家配好环境,安装好编译器(eclipse)后,应该建立第一个项目“Helloword”一、在建立项目之前,来介绍一下项目的结构。1、class(类)项目中的最小单位,一个类中存放着相应的方法和量。2、package(包):存放类的空间。为了更好地组织类,Java提供了包机制。包是类的容器,用于分隔类名空间。如果没有指定包名,所有的示例都属于一个默认的无名包。3、folder(文件夹):存放包…

    2022年7月7日
    33
  • ider2021激活码(JetBrains全家桶)

    (ider2021激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlFDZIAAVGQ5-eyJsaWNlbnNlSW…

    2022年3月28日
    162
  • bat命令大全_bat暂停命令

    bat命令大全_bat暂停命令文章目录一、bat(批处理文件类型)注意事项命令简介二、使用步骤1.引入库2.读入数据总结一、bat(批处理文件类型)注意事项1.文件保存格式为ANSI2.以管理员身份运行文件命令简介cmd #相当于已管理员身份执行了命令提示符@echo(off|on) #关闭或打开回显命令@echooffipconfigpause #相当于自动打开cmd(命令提示符)输入ipconfig查看电脑网络信息cd/d路径地址 #Windows下进入指定路径pause #一般在

    2022年9月24日
    0
  • goland激活码最新3月[在线序列号]「建议收藏」

    goland激活码最新3月[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    118
  • Freeswitch+webSocket 尝试开发呼叫中心工具条actionbar 成功小结

    Freeswitch+webSocket 尝试开发呼叫中心工具条actionbar 成功小结好久没有写文章,因为我在酝酿大招。^_^呼叫中心工具条开发环境:LinuxCentos6.x+java1.8+websocket+Freeswitch1.5+API(提供其他语言调用工具条,不仅限于java)1、来电弹屏(DEMO演示了一个客户表,通过来电号码判断查询用户,并展示给坐席)2、电话状态变化提示 ringing,answer,han

    2022年7月14日
    33
  • 【系统架构设计师】第一章:操作系统(1.2.1)进程的三态模型与五态模型

    本篇帖子继续上篇。有兴趣可以点击链接进行查看以前写过的文章。【系统架构设计师】第一章:操作系统(1.1.1—1.1.2)参考教材:《系统架构设计师考试全程指导(第二版)》《系统架构设计师教程》1.2处理器管理在单用户多任务的操作系统中,或者多用户多任务的操作系统中,系统同时运行多个程序,这些程序的并行运行势必形成对系统资源的竞争使用。因此,操作系统必须能够处理和管理这种并行运行的程序,使之对资源的使用按照良性的顺序进行。1.2.1进程的状态首先我们要搞清楚三个东西的区别:程序,进程,.

    2022年4月13日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号