将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 1:
输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4]
参考:力扣
临时数组储存一个结果
比较两者小者加入链表
注意:两链表长度不一情况需讨论
class Solution { public ListNode mergeTwoLists(ListNode list1, ListNode list2) { ListNode dummy=new ListNode(0),temp=dummy; while(list1!=null&&list2!=null){ int val1=list1.val,val2=list2.val; if(val1>val2){ temp.next=list2; list2=list2.next; }else{ temp.next=list1; list1=list1.next; } temp=temp.next; } while(list1!=null){ temp.next=list1; list1=list1.next; temp=temp.next; } while(list2!=null){ temp.next=list2; list2=list2.next; temp=temp.next; } return dummy.next; } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)