编程语言:Java
题目链接:https://leetcode-cn.com/problems/merge-two-sorted-lists/
题解:水题,但递归写法,确实一开始没想到,然后自己做的时候还定义了辅助空间,菜了。
难度:easy
结果:
正常写法:
class Solution {
public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
ListNode list=new ListNode(0,null);
ListNode temp=list;
while(list1!=null&&list2!=null){
if(list1.val>list2.val){
temp.next=new ListNode(list2.val,null);
list2=list2.next;
}else{
temp.next=new ListNode(list1.val,null);
list1=list1.next;
}
temp=temp.next;
}
temp.next=list1==null?list2:list1;
return list.next;
}
}
递归写法:
class Solution {
public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
if (list1 == null)
return list2;
if (list2 == null)
return list1;
if (list1.val > list2.val) {
list2.next = mergeTwoLists(list1, list2.next);
return list2;
} else{
list1.next = mergeTwoLists(list1.next, list2);
return list1;
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)