摘要:题目详情题目要求我们将两个有序链表合成一个有序的链表。输入输出想法首先要判断其中一个链表为空的状态,这种情况直接返回另一个链表即可。每次递归都会获得当前两个链表指针位置的值较小的节点,从而组成一个新的链表。
题目详情
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.想法题目要求我们将两个有序链表合成一个有序的链表。
Example:
输入: 1->2->4, 1->3->4
输出: 1->1->2->3->4->4
首先要判断其中一个链表为空的状态,这种情况直接返回另一个链表即可。
每次递归都会获得当前两个链表指针位置的值较小的节点,从而组成一个新的链表。
解法public class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1 == null){ return l2; } if(l2 == null){ return l1; } ListNode mergeHead; if(l1.val < l2.val){ mergeHead = l1; mergeHead.next = mergeTwoLists(l1.next, l2); } else{ mergeHead = l2; mergeHead.next = mergeTwoLists(l1, l2.next); } return mergeHead; } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/66940.html
摘要:题目要求翻译过来就是将两个有序的链表组合成一个新的有序的链表思路一循环在当前两个链表的节点都是非空的情况下比较大小,较小的添入结果链表中并且获得较小节点的下一个节点。 题目要求 Merge two sorted linked lists and return it as a new list. The new list should be made by splicing togeth...
摘要:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。无非是依次将两个链表每个节点的值对比,取出值较小的节点,添加到新链表末尾。将剩余链表传回递归函数。 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 Merge two sorted linked lists and return it as a n...
摘要:什么意思呢比如上方合并链表的代码,分别明确函数的参数和返回值是什么参数是两个合并的链表结点头结点。返回值是合并后的链表。 Time:2019/4/9Title: Merge Two Sorted ListsDifficulty: EasyAuthor: 小鹿 题目:Merge Two Sorted Lists Merge two sorted linked lists and re...
摘要:注意因为堆中是链表节点,我们在初始化堆时还要新建一个的类。代码初始化大小为的堆拿出堆顶元素将堆顶元素的下一个加入堆中 Merge Two Sorted Lists 最新更新请见:https://yanjia.me/zh/2019/01/... Merge two sorted linked lists and return it as a new list. The new list...
摘要:为减小空间复杂度,最后结果直接修改在上,不重新给分配空间。 Easy 021 Merge Two Sorted Lists Description: Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes o...
阅读 1145·2021-10-11 10:59
阅读 1937·2021-09-29 09:44
阅读 819·2021-09-01 10:32
阅读 1381·2019-08-30 14:21
阅读 1825·2019-08-29 15:39
阅读 2943·2019-08-29 13:45
阅读 3501·2019-08-29 13:27
阅读 1968·2019-08-29 12:27