合并链表

题目

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

思路

两个链表都是单调递增的,只要不断比较链表的头结点就可以了,取比较小的那个成为新链表的头结点

代码

/* function ListNode(x){ this.val = x; this.next = null; }*/
function Merge(pHead1, pHead2) {
  let pMergeHead = null;
  // write code here
  if (pHead1 === null) return pHead2;
  if (pHead2 === null) return pHead1;
  if (pHead1.val < pHead2.val) {
    pMergeHead = pHead1;
    pMergeHead.next = Merge(pHead1.next, pHead2);
  } else {
    pMergeHead = pHead2;
    pMergeHead.next = Merge(pHead1, pHead2.next);
  }
  return pMergeHead;
}
全部评论

相关推荐

King987:待优化的地方还是挺多的,可以参考一下我的作品优化一下,优化不好的话也可以找我
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
01-22 18:07
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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