时间:2021-05-22
本文实例讲述了Python实现合并两个有序链表的方法。分享给大家供大家参考,具体如下:
思路:先选出第一个节点,然后遍历两个链表,把小的作为当前节点的下一个节点,一直到其中一个链表遍历完,这时候把另一个链表直接接上就好
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def mergeTwoLists(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ #先考虑链表其中一个为空的情况 if not l1: return l2 if not l2: return l1 curNode1 = l1 curNode2 = l2 #先选出第一个节点 if curNode1.val < curNode2.val: head = curNode1 curNode1 = curNode1.next else: head = curNode2 curNode2 = curNode2.next cur = head while curNode1 and curNode2: if curNode1.val < curNode2.val: cur.next = curNode1 curNode1 = curNode1.next else: cur.next = curNode2 curNode2 = curNode2.next cur = cur.next #一直循环到有一个链表先结束 #如果是链表1先结束,则拼上链表2剩余的那段 if not curNode1: cur.next = curNode2 #如果是链表2先结束,则拼上链表1剩余的那段 else: cur.next = curNode1 return head更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JS实现的合并两个有序链表算法。分享给大家供大家参考,具体如下:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节
剑指offer:合并两个排序的链表,Python实现题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。吐槽本来
本文实例讲述了C++实现打印两个有序链表公共部分的方法。分享给大家供大家参考,具体如下:题目:给定两个有序链表的头指针head1和head2,打印两个链表的公共
本文实例讲述了PHP实现合并两个排序链表的方法。分享给大家供大家参考,具体如下:问题输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满
逆转交替合并两个链表,即从一个链表的尾指针指向另一个链表的尾指针,依次逆转交替进行合并。下面就通过实例来详细的介绍该逆转交替合并两个链表的思路与实现代码。一、问