用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - javascript代码库

24合并k个升序链表

2022-08-05 作者: asa2022举报

[javascript]代码库

/**
 * Definition for singly-linked list.
 * function ListNode(val, next) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.next = (next===undefined ? null : next)
 * }
 */
/**
 * @param {ListNode[]} lists
 * @return {ListNode}
 */
var mergeKLists = function(lists){
  let head=null,len=0;
  for(let a=0;a<lists.length;a++){
    if(!lists[a]){
      lists.splice(a,1);
      a--;continue;
    }
    if(a+1<lists.length&&!lists[a+1]){
      lists.splice(a+1,1);
      a--;continue;
    }
    if(!head)head=lists[a];
    
    let h1=lists[a],h2=lists[a+1];
    if(h2==undefined) h2=null;
    len++;
    while(h1.next){
      h1=h1.next;
      len++;
    }
    h1.next=h2;
  }
 // console.log(len,head);
  
  let h1=head;
  for(let a=0,b=1;a<len-b;a++){
    let h2=h1.next;
    //console.log(h1.val,h2.val)
    if(h1.val>h2.val){
      let tmp=h1.val;
      h1.val=h2.val;
      h2.val=tmp;
    }
    h1=h1.next;
    if(a==len-1-b){
      h1=head;a=-1;b++;
    }
  }
 // console.log(head)
  return head;
};


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...