【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
};
全部评论

相关推荐

今天投了小鹏,收到了AI面,大概会问哪些啊?
期末一定及格:总共4个部分,心理测评、行测、然后就是问岗位、对岗位的理解、过往遇到了哪些难点怎么解决,很简单,没有什么特别专业的问题,都是一些综合素质相关的
小鹏汽车AI面7人在聊
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 10:56
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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