剑指 Offer 25. 合并两个排序的链表
😘😘😘😘😘😘😘😘😘😘
刷题使我开心,下面这道题肯定很简单。你看完肯定说太简单了
拿捏 哈哈哈哈哈哈哈哈哈
🌜输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。。
示例1:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
限制:
0 <= 链表长度 <= 1000
思路
新建一个虚拟节点,让两个节点的分别拼接,拼接的规则是,
看看谁小
谁就和虚拟头节点构成链表
拼接最后拼完后,肯定最多一个链表不为null ,那么不为null ,直接再拼接,完事,轻轻松松,看代码吧
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode left=l1;
ListNode right=l2;
ListNode newNode=new ListNode(-1);
ListNode cur=newNode;
while (left!=null&& right!=null){
if (left.val<= right.val){
cur.next=left;
left=left.next;
}else {
cur.next=right;
right=right.next;
}
cur=cur.next;
}
if (right!=null){
cur.next=right;
}
if (left!=null){
cur.next=left;
}
return newNode.next;
}
}