淘宝优惠券查询网站怎么做,怀化公积金网站,网站免费建站广告机,建设工程消防设计备案凭证查询网站1.题目
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
2.示例
示例 1#xff1a; 输入#xff1a;l1 [1,2,4], l2 [1,3,4] 输出#xff1a;[1,1,2,3,4,4] 示例 2#xff1a; 输入#xff1a;l1 [], l2 [] 输…1.题目
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
2.示例
示例 1 输入l1 [1,2,4], l2 [1,3,4] 输出[1,1,2,3,4,4] 示例 2 输入l1 [], l2 [] 输出[] 示例 3 输入l1 [], l2 [0] 输出[0] 3.思路
递归调用
将这个问题不断拆分成子问题然后设置出口。由题目可以知道合并两个链表首先需要比较两个链表中的元素将元素小的拆分出来然后拼接到后续组合好的链表中。如此反复直到最后一个一个元素。 4.代码
LeetCode代码
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/
class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {// 出口if(list1 null){return list2;}if(list2 null){return list1;}// 子问题if(list1.vallist2.val){list1.next mergeTwoLists(list1.next,list2);return list1;}else{list2.next mergeTwoLists(list2.next,list1);return list2;}}
}