深圳福永做网站,宁夏免费建个人网站,凡科网怎么创建网站,wordpress短标签牛客: BM5 合并k个已排序的链表 文章目录 牛客: BM5 合并k个已排序的链表题目描述题解思路题解代码 题目描述 题解思路
合并链表数组中的前两条链表,直到链表数组的长度为一, 返回这个唯一的链表
题解代码
package main/** type ListNode struct{* Val int* Next *ListN…牛客: BM5 合并k个已排序的链表 文章目录 牛客: BM5 合并k个已排序的链表题目描述题解思路题解代码 题目描述 题解思路
合并链表数组中的前两条链表,直到链表数组的长度为一, 返回这个唯一的链表
题解代码
package main/** type ListNode struct{* Val int* Next *ListNode* }*//*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可*** param lists ListNode类一维数组* return ListNode类*/
func mergeKLists( lists []*ListNode ) *ListNode {length : len(lists)if length 0 {return nil}if length 1 {return lists[0]}for len(lists) 1 {lists[1] meger(lists[0], lists[1])lists lists[1:]}return lists[0]
}func meger(l1 *ListNode, l2 *ListNode) *ListNode{tmp : new(ListNode)ans : tmpfor l1 ! nil l2 ! nil {if l1.Val l2.Val {tmp.Next l2l2 l2.Nexttmp tmp.Next}else{tmp.Next l1l1 l1.Nexttmp tmp.Next}}if l2 ! nil {tmp.Next l2}if l1 ! nil {tmp.Next l1}return ans.Next
}