zoukankan      html  css  js  c++  java
  • Leetcode代码补全——链表

    通过补全代码可以更深刻的体会到,链表就是一个存储方式,通过一单元的存储指向下一单元,而查看单元内容通过头部开始的指针依次遍历。这是leetcode里融合两个链表的题目,具体代码如下:

    #encoding=utf-8

    class ListNode(object):

        def __init__(self, x):

            self.val = x

            self.next = None

            self.root = None

    #添加链表节点函数

        def addNode(self, val):

            if self.root==None:

                self.root= ListNode(x=val)

                return self.root

            else:

          # 有头结点,则需要遍历到尾部节点,进行链表增加操作

                cursor = self.root

                while cursor.next!= None:

                    cursor = cursor.next

                cursor.next = ListNode(x=val)

                return self.root

    #下面就是题目具体解决过程 

    class Solution(object):

        def mergeTwoLists(self, l1, l2):

            """

            :type l1: ListNode

            :type l2: ListNode

            :rtype: ListNode

            """

            head=ListNode(0)

            cur=head

            

            while(l1!=None and l2!=None):

                if l1.val<l2.val:

                    cur.next=l1

                    l1=l1.next

                else:

                    cur.next=l2

                    l2=l2.next

                #cur.next.next=None

                cur=cur.next

            if l1!=None:

                cur.next=l1

            else:

                cur.next=l2

            return head.next

    #下面也是leetcode省略部分,实例化两个链表。添加节点,进行融合操作 

    a=ListNode(1)

    b=ListNode(1)

    print a.addNode(3).addNode(4)

    print b.addNode(2).addNode(4)

    c=Solution()

    print c.mergeTwoLists(a,b)

  • 相关阅读:
    Django—使用后台管理Models
    Django—开发具体流程
    Sqlite—数据库管理与表管理
    Sqlite—数据类型
    Python—实现钉钉后台开发
    Xdebug文档(一)基本特性
    FHS定义的Linux目录树
    【转】给Windows + Apache 2.2 + PHP 5.3 安装PHP性能测试工具 xhprof
    【转】UTF-8汉字正则表达式
    【转】Nginx区分PC或手机访问不同网站
  • 原文地址:https://www.cnblogs.com/garvicker/p/9044330.html
Copyright © 2011-2022 走看看