golang力扣leetcode 23.合并K个升序链表

简介: golang力扣leetcode 23.合并K个升序链表

23.合并K个升序链表

23.合并K个升序链表

题解

没啥含金量,就更归并排序一样,考验基本功吧

代码

type ListNode struct {
  Val  int
  Next *ListNode
}
func mergeKLists(lists []*ListNode) *ListNode {
  dummy := &ListNode{}
  for _, v := range lists {
    dummy.Next = merge(dummy.Next, v)
  }
  return dummy.Next
}
func merge(l1, l2 *ListNode) *ListNode {
  dummy := &ListNode{}
  cur := dummy
  for l1 != nil && l2 != nil {
    if l1.Val <= l2.Val {
      cur.Next = l1
      l1 = l1.Next
    } else {
      cur.Next = l2
      l2 = l2.Next
    }
    cur = cur.Next
  }
  for l1 != nil {
    cur.Next = l1
    l1 = l1.Next
    cur = cur.Next
  }
  for l2 != nil {
    cur.Next = l2
    l2 = l2.Next
    cur = cur.Next
  }
  return dummy.Next
}
目录
相关文章
|
24天前
【力扣】-- 移除链表元素
【力扣】-- 移除链表元素
33 1
|
29天前
|
算法
【❤️算法笔记❤️】-每日一刷-23、合并 K 个升序链表
【❤️算法笔记❤️】-每日一刷-23、合并 K 个升序链表
30 0
|
28天前
|
程序员 C语言
【C语言】LeetCode(力扣)上经典题目
【C语言】LeetCode(力扣)上经典题目
|
1月前
|
索引
力扣(LeetCode)数据结构练习题(3)------链表
力扣(LeetCode)数据结构练习题(3)------链表
72 0
|
1月前
力扣(LeetCode)数据结构练习题(2)
力扣(LeetCode)数据结构练习题(2)
28 0
|
1月前
|
存储
力扣(LeetCode)数据结构练习题
力扣(LeetCode)数据结构练习题
50 0
|
5月前
|
存储 SQL 算法
LeetCode力扣第114题:多种算法实现 将二叉树展开为链表
LeetCode力扣第114题:多种算法实现 将二叉树展开为链表
|
5月前
|
存储 SQL 算法
LeetCode 题目 86:分隔链表
LeetCode 题目 86:分隔链表
|
5月前
|
存储 算法 Java
【经典算法】Leetcode 141. 环形链表(Java/C/Python3实现含注释说明,Easy)
【经典算法】Leetcode 141. 环形链表(Java/C/Python3实现含注释说明,Easy)
48 2
|
6月前
<数据结构>五道LeetCode链表题分析.环形链表,反转链表,合并链表,找中间节点.
<数据结构>五道LeetCode链表题分析.环形链表,反转链表,合并链表,找中间节点
51 1