描述:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
*
示例 1:
输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]
利用归并排序的思想就OK了
归并排序
可以迭代也可以递归,不过时间复杂度是相同的,不同的是迭代空间用的稍微少一点应该。
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode head=new ListNode();
ListNode temp=head;
while(l1!=null && l2!=null){
if(l1.val<l2.val){
temp.next=l1;
l1=l1.next;
}else{
temp.next=l2;
l2=l2.next;
}
temp=temp.next;
}
temp.next=l1==null?l2:l1;
return head.next;
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/Y_peak/article/details/120365250
内容来源于网络,如有侵权,请联系作者删除!