首页 > 其他分享 >1669. 合并两个链表

1669. 合并两个链表

时间:2023-01-30 19:55:57浏览次数:78  
标签:index ListNode val int 合并 next 链表 1669 list2

1669. 合并两个链表

題解:
模拟链表操作

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode mergeInBetween(ListNode list1, int a, int b, ListNode list2) {
        int i = 0;
        ListNode head = new ListNode(-1, list1);
        ListNode index = list1;
        ListNode right = null;
        ListNode left = null;
        // 拿到删除始节点的前一个节点
        while (i < a - 1 && index != null) {
            index = index.next;
            i++;
        }
        left = index;
        if (a == 0) head.next = list2;
        // 拿到删除末节点的后一个节点
        while (i < b + 1 && index != null) {
            index = index.next;
            i++;
        }
        right = index;
        // 拼接
        left.next = list2;
        while (list2.next != null) {
            list2 = list2.next;
        }
        list2.next = right;
        // 返回开头
        return head.next;
    }
}

标签:index,ListNode,val,int,合并,next,链表,1669,list2
From: https://www.cnblogs.com/eiffelzero/p/17077116.html

相关文章

  • 单链表
    线性表的链式存储线性表的链式表示又称为非顺序映像或链式映像结点在存储器中位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻;链表中的逻辑次序和物理次序不一定......
  • 114. 二叉树展开为链表
    问题描述https://leetcode.cn/problems/flatten-binary-tree-to-linked-list/description/解题思路这个题目,用一个数组就能很好的解决。但空间复杂度是O(n).题目中给的......
  • java hutool 导出excel 合并单元格
    packagepdf;importlombok.Data;importjava.math.BigDecimal;@DatapublicclassVerifyPlatform{ privatestaticfinallongserialVersionUID=1L; /**......
  • LeetCode:1669. 合并两个链表
    /***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListN......
  • Pandas数据合并
    目录1)在单个键上进行合并操作2)在多个键上进行合并操作使用how参数合并1)leftjoin2)rightjoin3)outerjoin(并集)4)innerjoin(交集)Pandas提供的merge()函数......
  • LeetCode-21.合并两个有序链表
    21.合并两个有序链表(MergeTwoSortedLists)将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例1:输入:l1=[1,2,4......
  • 完整的合并有序链表(包括节点定义 生成链表 合并)
    1.定义节点publicclassListNode{intval;ListNodenext;publicListNode(){}publicListNode(intval){this.val=val;......
  • 双向链表 添加与遍历
    packagecom.pay.test;//定义节点publicclassDoubleLinkedList{//初始化头节点privateHeroNodehead=newHeroNode(0,"","");//返回节点头p......
  • (AtCoder Beginner Contest 287)(D 字符串前后缀合并匹配)(E Trie求最长公共前缀(LCP)
    D-MatchorNot(字符串前后缀合并匹配)题目大意:给定两个字符串S和T,对于每个x=0,1,2...|T|求S的子串(前x个字符和后|T|-x个字符在不改变顺序的情况下组成)是否与T相......
  • 力扣-82-删除排序链表中的重复元素Ⅱ
    这个删除重复不太常规的是:它不是删除多出来的剩下一个,而是比如有三个1,1重复了,那这三个1节点都不要 ListNode*deleteDuplicates(ListNode*head){ if(!head)returnh......