Skip to content

Latest commit

 

History

History
52 lines (44 loc) · 1.22 KB

1669. 合并两个链表.md

File metadata and controls

52 lines (44 loc) · 1.22 KB

1669. 合并两个链表

给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个。

请你将 list1 中第 a 个节点到第 b 个节点删除,并将list2 接在被删除节点的位置。

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/merge-in-between-linked-lists

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


分别找到 a-1b+1list2 的尾巴,然后按需连接就好了

/**
 * Definition for singly-linked list.
 * function ListNode(val, next) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.next = (next===undefined ? null : next)
 * }
 */
/**
 * @param {ListNode} list1
 * @param {number} a
 * @param {number} b
 * @param {ListNode} list2
 * @return {ListNode}
 */
var mergeInBetween = function(list1, a, b, list2) {
  var count = 1
  var p = list1
  var begin
  while (true) {
    if (count === a) {
      begin = p
    } else if (count === b + 2) {
      var list2Tail = list2
      while (list2Tail.next) {
        list2Tail = list2Tail.next
      }
      begin.next = list2
      list2Tail.next = p
      return list1
    }
    p = p.next
    count ++
  }
};