解析:
- 首先需要一个指针永远指向第一个节点
- 然后第二个个指针需要不断的向后走进项比较
- 如果一个链表已空,那就把另一条链表的数据全部放过来
代码:
public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
ListNode head=new ListNode(0);
ListNode temp=head;
while(list1!=null&&list2!=null){
if(list1.val<list2.val){
temp.next=new ListNode(list1.val);
list1=list1.next;
}else{
temp.next=new ListNode(list2.val);
list2=list2.next;
}
temp=temp.next;
if(list1==null){
temp.next=list2;
}
if(list2==null){
temp.next=list1;
}
}
return head.next;
}

该博客介绍了如何使用双指针法将两个已排序的链表合并,并保持合并后的链表依然有序。代码实现中,创建了一个临时头节点,通过不断比较两个链表的当前节点值,将较小值放入新链表,最后处理剩余链表,确保所有元素都被正确合并。
2125

被折叠的 条评论
为什么被折叠?



