题解 | #合并两个排序的链表#
合并两个排序的链表
https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode Merge(ListNode list1,ListNode list2) {
ListNode head=new ListNode(0);//创建一个空链表
ListNode cur=head;//创建一个cur用于循环
if(list1==null){return list2;}
if(list2==null){return list1;}
//循环前两者有一个为null直接输出另一个
while(list1!=null&&list2!=null){
//两者都不为空的时候进入循环进行比较
if(list1.val<list2.val){
cur.next=list1;
list1=list1.next;
}
else{
cur.next=list2;
list2=list2.next;
//让cur指向当前节点值更小的表,并移动这个小表的指针进行下一次比较
}
cur=cur.next;
//移动cur的指针进入下一次循环
}
if(list1==null){
cur.next=list2;
}
else{
cur.next=list1;
}
//当进行到有一个表被比空的时候,直接把另一个表接到cur上
return head.next;
//返回时去掉表头
}
}
查看8道真题和解析
SHEIN希音公司福利 318人发布