你需要分配

l1

l2

tempNode.val

L1

节点本身到

tempNode

# Definition for singly-linked list.

class ListNode:

def __init__(self, x=None):

self.val = x

self.next = None

a = ListNode(5)

b = ListNode(10)

c = ListNode(20)

e = ListNode(0)

f = ListNode(5)

g = ListNode(21)

h = ListNode(30)

a.next = b

b.next = c

e.next = f

f.next = g

g.next = h

class Solution:

def mergeTwoLists(self, l1, l2):

returnNode = tempNode = ListNode()

while l1 or l2:

if not l1:

print('l1 is empty; adding value from l2:', l2.val)

tempNode.val = l2.val

tempNode.next = ListNode()

tempNode = tempNode.next

l2 = l2.next

elif not l2:

print('l2 is empty; adding value from l1:', l1.val)

tempNode.val = l1.val

tempNode.next = ListNode()

tempNode = tempNode.next

l1 = l1.next

elif l1.val < l2.val:

print("l1.val < l2.val", l1.val, l2.val)

tempNode.val = l1.val

tempNode.next = ListNode()

tempNode = tempNode.next

l1 = l1.next

elif l1.val == l2.val:

print("l1.val == l2.val", l1.val, l2.val)

#If both the values are equal, assign l1's value first

#then make l2's value follow l1's value using tempNode

tempNode.val = l1.val

tempNode.next = ListNode() #Because of the previous statement, after execution of this statement, I'm assuming tempNode.val is now l1.val and tempNode.next = l1.next

tempNode = tempNode.next

#tempNode.next is supposed to be equal to l1.next, instead assign it to l2

tempNode.val = l2.val

tempNode.next = ListNode() #Because of the previous statement, after execution of this statement, I'm assuming tempNode.val is now l2.val and tempNode.next = l2.next

tempNode = tempNode.next

#Increment both l1 and l2

l1 = l1.next

l2 = l2.next

else:

print("l1.val > l2.val", l1.val, l2.val)

tempNode.val = l2.val

tempNode.next = ListNode()

tempNode = tempNode.next

l2 = l2.next

return returnNode

sol = Solution()

node = sol.mergeTwoLists(a, e)

while node and node.val is not None:

print(node.val)

node = node.next

l1.val > l2.val 5 0

l1.val == l2.val 5 5

l1.val < l2.val 10 21

l1.val < l2.val 20 21

l1 is empty; adding value from l2: 21

l1 is empty; adding value from l2: 30

0

5

5

10

20

21

30

python合并列表并按升序排序_在python中按升序合并两个排序的链接列表:单链接列表指针更新问题...相关推荐

  1. c#给定二维数组按升序排序_在数组中按升序对数字进行排序| 8086微处理器

    c#给定二维数组按升序排序 Problem: Write a program in 8086 microprocessor to sort numbers in ascending order in ...

  2. python将对象放入列表根据某个属性排序_关于python:如何根据对象的属性对对象列表进行排序?...

    我有一个python对象列表,我想按对象本身的属性排序.列表如下: >>> ut [, , , , , , ...] 每个对象都有一个计数: >>> ut[1].c ...

  3. python中对列表排序_在Python中对嵌套列表进行排序和分组

    在Python中对嵌套列表进行排序和分组 我具有以下数据结构(列表列表) [ ['4', '21', '1', '14', '2008-10-24 15:42:58'], ['3', '22', '4 ...

  4. python 多维list 排序_人生苦短 | Python列表和元组归纳整理

    1. 列表 1.1. 列表是什么? 列表是由一系列按特定顺序排列的元素组成,所以是有序的集合.列表中的元素可以是不同类型的,列表中也可以嵌套列表.在Python中,用方括号[]来表示列表,并用逗号来分 ...

  5. python中用def实现自动排序_用 python 实现各种排序算法

    常见集中排序的算法 归并排序 归并排序也称合并排序,是分治法的典型应用.分治思想是将每个问题分解成个个小问题,将每个小问题解决,然后合并. 具体的归并排序就是,将一组无序数按n/2递归分解成只有一个元 ...

  6. python 多关键字排序_用Python排序字​​典

    python 多关键字排序 介绍 (Introduction) In this tutorial, we are going to take a look at the various ways fo ...

  7. python列表元素都加倍_关于python列表增加元素的三种操作方法

    关于python列表增加元素的三种操作方法 1.insert方法,该方法包含两个参数,第一个参数为插入的位置参数,第二个参数为插入内容 a = [0,0,0] b = [1,2,3] a.insert ...

  8. python对日期型数据排序_在python中对日期字符串进行排序,最好不使用日期对象...

    所以,我有一个字符串列表,这些字符串的格式都是Month DayNumber,比如 ['March 1', 'March 9', 'April 14', 'March 12'] 我需要对列表进行排序, ...

  9. python中以下关于列表描述错误的_在Python中,以下关于函数的描述错误的是哪一项?...

    [判断题]Python内置函数len____可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. [判断题]Python内置函数max____用来返回序列中的最大元素. [判断题]Py ...

  10. python列表的存储结构_在python列表类型结构中合理地存储10亿个以上的值

    我在写一个程序,为数字高程模型的一个固定区域创建变量函数图,这个区域已经被转换成一个数组.我计算窗口约束内点对之间的方差(高程差)和滞后(距离).每个数组位置与其他数组位置进行比较.对于每个对,滞后值 ...

最新文章

  1. unity连接linux服务器,C#编程之C#通过SharpSSH库与Linux服务器建立SSH连接并执行命令...
  2. c语言输出精确圆周率,如何设计C语言程序输出圆周率小数点后的1000位?请大侠出手啊。...
  3. 【图像处理opencv】_numpy基本操作
  4. STL中迭代器的作用,有指针为何还要迭代器
  5. The jar file has no source attachment
  6. WPF中引入外部资源
  7. SQL Server 2005参考:Apply运算符
  8. Python(6)-文件和异常
  9. 32树莓派_树莓派推出8GB内存版本
  10. threejs CameraHelper 查看照相机的观察范围
  11. python可以封装成独立程序吗_windows环境下把Python代码打包成独立执行的exe
  12. java上传图片裁剪_浅谈java图片上传之剪切
  13. Web版Telnet工具设计与实现
  14. Protel 99SE在Win10下按键就卡,无法使用
  15. 发一套最完整的直升机原理(绝对完整,绝对精华)
  16. NX/UG二次开发—装配—实现标准件库添加组件效果
  17. 香港流行乐黄金二十年——经典歌手(音乐人)全面回顾 三
  18. 查看twitter浏览记录_如何查看Twitter提及的通知,但不喜欢或转发
  19. 心愿作文计算机,关于心愿的作文150字
  20. 关于VA过期的解决办法

热门文章

  1. 专访 | 周涛:从窄门进最终走出宽路来
  2. 国防科大提出基于可变形三维卷积的视频超分辨,代码已开源
  3. self-attention竟然没用?
  4. 如何做一个新产品的第一个版本:关于MVP和上线时间的权衡
  5. vue-自主研发非父子关系组件之间通信的问题
  6. 奶茶妹妹亏本甩卖悉尼豪宅 当年与刘强东澳洲办盛大婚礼
  7. Java vs Kotlin,Android开发人员应该选择哪种语言?
  8. HTML5调用手机前置摄像头或后置摄像头拍照,canvas显示,经过Android测试
  9. mysql 数据库学习(触发器)
  10. Powershell管理系列(三十九)PowerShell查询和解锁AD账号