python合并列表并按升序排序_在python中按升序合并两个排序的链接列表:单链接列表指针更新问题...
你需要分配
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中按升序合并两个排序的链接列表:单链接列表指针更新问题...相关推荐
- c#给定二维数组按升序排序_在数组中按升序对数字进行排序| 8086微处理器
c#给定二维数组按升序排序 Problem: Write a program in 8086 microprocessor to sort numbers in ascending order in ...
- python将对象放入列表根据某个属性排序_关于python:如何根据对象的属性对对象列表进行排序?...
我有一个python对象列表,我想按对象本身的属性排序.列表如下: >>> ut [, , , , , , ...] 每个对象都有一个计数: >>> ut[1].c ...
- python中对列表排序_在Python中对嵌套列表进行排序和分组
在Python中对嵌套列表进行排序和分组 我具有以下数据结构(列表列表) [ ['4', '21', '1', '14', '2008-10-24 15:42:58'], ['3', '22', '4 ...
- python 多维list 排序_人生苦短 | Python列表和元组归纳整理
1. 列表 1.1. 列表是什么? 列表是由一系列按特定顺序排列的元素组成,所以是有序的集合.列表中的元素可以是不同类型的,列表中也可以嵌套列表.在Python中,用方括号[]来表示列表,并用逗号来分 ...
- python中用def实现自动排序_用 python 实现各种排序算法
常见集中排序的算法 归并排序 归并排序也称合并排序,是分治法的典型应用.分治思想是将每个问题分解成个个小问题,将每个小问题解决,然后合并. 具体的归并排序就是,将一组无序数按n/2递归分解成只有一个元 ...
- python 多关键字排序_用Python排序字典
python 多关键字排序 介绍 (Introduction) In this tutorial, we are going to take a look at the various ways fo ...
- python列表元素都加倍_关于python列表增加元素的三种操作方法
关于python列表增加元素的三种操作方法 1.insert方法,该方法包含两个参数,第一个参数为插入的位置参数,第二个参数为插入内容 a = [0,0,0] b = [1,2,3] a.insert ...
- python对日期型数据排序_在python中对日期字符串进行排序,最好不使用日期对象...
所以,我有一个字符串列表,这些字符串的格式都是Month DayNumber,比如 ['March 1', 'March 9', 'April 14', 'March 12'] 我需要对列表进行排序, ...
- python中以下关于列表描述错误的_在Python中,以下关于函数的描述错误的是哪一项?...
[判断题]Python内置函数len____可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. [判断题]Python内置函数max____用来返回序列中的最大元素. [判断题]Py ...
- python列表的存储结构_在python列表类型结构中合理地存储10亿个以上的值
我在写一个程序,为数字高程模型的一个固定区域创建变量函数图,这个区域已经被转换成一个数组.我计算窗口约束内点对之间的方差(高程差)和滞后(距离).每个数组位置与其他数组位置进行比较.对于每个对,滞后值 ...
最新文章
- unity连接linux服务器,C#编程之C#通过SharpSSH库与Linux服务器建立SSH连接并执行命令...
- c语言输出精确圆周率,如何设计C语言程序输出圆周率小数点后的1000位?请大侠出手啊。...
- 【图像处理opencv】_numpy基本操作
- STL中迭代器的作用,有指针为何还要迭代器
- The jar file has no source attachment
- WPF中引入外部资源
- SQL Server 2005参考:Apply运算符
- Python(6)-文件和异常
- 32树莓派_树莓派推出8GB内存版本
- threejs CameraHelper 查看照相机的观察范围
- python可以封装成独立程序吗_windows环境下把Python代码打包成独立执行的exe
- java上传图片裁剪_浅谈java图片上传之剪切
- Web版Telnet工具设计与实现
- Protel 99SE在Win10下按键就卡,无法使用
- 发一套最完整的直升机原理(绝对完整,绝对精华)
- NX/UG二次开发—装配—实现标准件库添加组件效果
- 香港流行乐黄金二十年——经典歌手(音乐人)全面回顾 三
- 查看twitter浏览记录_如何查看Twitter提及的通知,但不喜欢或转发
- 心愿作文计算机,关于心愿的作文150字
- 关于VA过期的解决办法