题目:
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
解题思路:
可以采用递归的方法:
什么是递归?
函数在运行时调用自己,这个函数就叫递归函数,调用的过程叫做递归。
递归的基本思想是某个函数直接或者间接地调用自身,这样原问题的求解就转换为了许多性质相同但是规模更小的子问题。求解时只需要关注如何把原问题划分成符合条件的子问题,而不需要过分关注这个子问题是如何被解决的。
测试用例:
class Solution {
public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
if(list1 == null){
return list2;
}
else if(list2 == null){
return list1;
}
else if(list1.val <= list2.val){
list1.next = mergeTwoLists(list1.next,list2);
return list1;
}
else {
list2.next = mergeTwoLists(list2.next,list1);
return list2;
}
}
}