思路:
这题第一眼看上去是链表题,但本质其实很简单。
因为给你的两个链表本身都已经是升序的,所以我们每次只需要看两个链表当前节点里,谁更小,就把谁接到答案链表后面即可。
先想最核心的问题:新链表的下一个节点应该接谁?
假设现在:
给定两个升序链表 l1 和 l2。
请将它们合并为一个新的升序链表并输出。
新链表是通过拼接给定的两个链表的所有节点组成的。
两个链表均按照非递减顺序排列。
第一行输入一个整数 n,表示链表 l1 的节点个数。
第二行输入 n 个整数,表示链表 l1 中的元素。
第三行输入一个整数 m,表示链表 l2 的节点个数。
第四行输入 m 个整数,表示链表 l2 中的元素。
输出一行,表示合并后的升序链表中的所有元素。
相邻两个整数之间用一个空格隔开。
3
1 2 4
3
1 3 4
1 1 2 3 4 4
链表 l1 为 [1, 2, 4],链表 l2 为 [1, 3, 4]。
合并后的升序链表为 [1, 1, 2, 3, 4, 4]。
1<=n,m<=50
−100<=Node.val<=100
l1 和 l2 均按非递减顺序排列。