【JS】合并k个已排序的链表

合并k个已排序的链表

http://www.nowcoder.com/questionTerminal/65cfde9e5b9b4cf2b6bafa5f3ef33fa6

/**
 * 
 * @param lists ListNode类一维数组 
 * @return ListNode类
 */
function mergeKLists( lists ) {
  let res = [];
  // 把所有节点放在res中
  for (let i = 0; i < lists.length; i++) {
    let list = lists[i];
    while(list) {
      res.push(list);
      list = list.next;
    }
  }
  // res根据节点的值排序一下
  res.sort((a, b) => a.val - b.val);
  // 重新设置next
  for (let i = 0; i < res.length; i++) {
    res[i].next = res[i + 1] || null;
  }
  // 返回节点头
  return res[0];
}
module.exports = {
    mergeKLists : mergeKLists
};
全部评论

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务