目录
①、题目
(1)MySQL
力扣https://leetcode.cn/problems/combine-two-tables/ (2)链表
力扣https://leetcode.cn/problems/merge-in-between-linked-lists/
②、解题
(1)MySQL
#左外连接
SELECT firstName, lastName,city, state
FROM Person p LEFT JOIN Address a
ON p.personId=a.personId
(2)链表
class Solution {
public ListNode mergeInBetween(ListNode list1, int a, int b, ListNode list2) {
//记录头节点
ListNode head=list1;
ListNode befor=null;
ListNode after=null;
for(int i=0;i<=b;i++){
//获取a的前一个节点
if(i==a-1)
befor=list1;
list1=list1.next;
}
//出循环后,list1指向b的后一位(若b为末节点,则不存在)
if(list1 !=null){
after=list1;
}else{
after=null;
}
//a的前一节点指向第二个链表头结点
befor.next=list2;
//获取第二个链表末节点
while(list2.next !=null){
list2=list2.next;
}
//第二链表末节点指向b的后一个节点
list2.next=after;
return head;
}
}
③、运行截图
MySQL:
链表: