21. Merge Two Sorted Lists
来源:互联网 发布:linux设置javahome 编辑:程序博客网 时间:2024/06/11 01:06
题目大意:
有两个已经排好序的链表,现在要合并这两个链表,同时保证大小顺序不变,返回合并后的链表,如:1->3->5和1->4合并后为:1->1->3->4->5
思路:
令i,j分别为两个链表的起始节点,选择值较小的那个节点,加入到返回链表中,此处i指向的节点的值为1,j指向节点的值为1,两个值相等,(相等时默认加入i),此处把 i 指向的节点加入到返回链表中,随后 i 后移一位。
之后,i指向的节点的值为3,j指向的节点的值为1,1 < 3,所以把j指向的节点加入到返回链表中。
之后同上。。
最后,当j == null时,把i及i之后的节点链表直接加入到返回链表中即可。
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 """ i = l1 j = l2 r = ListNode(-1) h = r while i != None and j != None: if i.val <= j.val: r.next = i i = i.next else: r.next = j j = j.next r = r.next while i != None: r.next = i i = i.next r = r.next while j != None: r.next = j j = j.next r = r.next return h.next
0 0
- 21.Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21.Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- const
- Android仿淘宝头条基于TextView实现上下滚动通知效果
- 详解 Canvas.drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)
- 高效率的幂运算
- linux操作提示:“Can't open file for writing”或“operation not permitted”的解决办法
- 21. Merge Two Sorted Lists
- nyoj 1278 Prototypes analyze
- 有关时间戳的方法
- 删除永久性联系
- Quartz Job未实例化导致Spring @Autowired 注入为null
- 动作捕捉
- 第十二单元练习
- css清除浮动的三种方法
- 浅谈java并发容器ConcurrentHashMap