0
点赞
收藏
分享

微信扫一扫

1669. 合并两个链表(单链表(查找+插入))

登高且赋 2022-04-16 阅读 82
算法c++
  • 题目链接:1669. 合并两个链表
  • 考查知识:单链表(查找+插入)
  • 题意描述:
    • 给定两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个。
    • 将 list1 中下标从 a 到 b 的全部节点都删除,并将list2 接在被删除节点的位置。
  • 思路简析:按照题意查找链表1第a-1个,第b+1个结点,然后将链表2拼接仅在链表1内即可;
  • 具体代码
    class Solution {
    public:
        ListNode* mergeInBetween(ListNode* list1, int a, int b, ListNode* list2) {
            ListNode *p=list1,*q=list1,*r=list2;
    		for(int i=0;i<b+1;i++){
    			if(i<a-1)p=p->next;//找链1第a-1个结点 
    			q=q->next;//找链1第b+1个结点 
    		} 
    		while(r->next!=NULL){
    			r=r->next;//找链2尾结点 
    		} 
    		p->next=list2;//拼接两个链表
    		r->next=q;
    		return list1; 
        }
    };
    
举报

相关推荐

0 条评论