• 链表之合并两个有序链表


    看题目:

    leetcode 21 简单

     思路:

    总体思路很简单,就是新建一个链表,逐步将两个链表中的数据按从小到大的顺序(注意:两个链表是已经排好顺序的)依次添加到新的列表中。

     上代码:

     1 class ListNode:
     2     """节点"""
     3     # 初始化节点
     4     def __init__(self, x):
     5         self.val = x
     6         self.next = None
     7         
     8 class Solution:
     9     def mergelist(self, l1, l2):
    10         """
    11         :l1 Node
    12         :l2 Node
    13         """
    14         # maintain an unchanging reference to node ahead of the return node
    15         # 定义头节点,用于返回合并后的链表
    16         head = ListNode(0)
    17         
    18         # 指向头节点
    19         cur = head
    20         # 判断两个链表中是否有空链表
    21         while l1 is not None and l2 is not None:
    22             if l1.val < l2.val:
    23                 cur.next, l1 = l1, l1.next
    24             else:
    25                 cur.next, l2 = l2, l2.next
    26             # 移动指针到添加的节点
    27             cur = cur.next
    28         if l1 is not None:
    29             cur.next = l1
    30         else:
    31             cur.next = l2
    32             
    33         return head.next
    34         
  • 相关阅读:
    WKT转换工具terraformers
    关于微信公众号投票结果的通告
    个人博客03
    个人博客02
    个人博客01
    四则运算2
    学习进度条
    构建之法阅读笔记01
    错误随笔
    软件工程概论第一节
  • 原文地址:https://www.cnblogs.com/xiaowei2092/p/11720196.html
Copyright © 2020-2023  润新知