使用双指针合并两个有序链表
l1 和 l2,分别指向 L1 和 L2 的当前节点。dummy),用于连接新链表,简化边界条件的处理。tail 指针来维护新链表的末尾节点,并逐步扩展链表。合并链表过程
l1 和 l2 指向的节点值,将较小的节点添加到新链表。L1 或 L2 遍历完后,将剩余的部分直接连接到新链表末尾。给定两个升序链表 L1 和 L2,将它们合并为一个新的升序链表并返回。新链表由拼接 L1 和 L2 的所有节点组成。
输入包含多组测试数据。
第一行输入一个整数 T(1≤T≤100),表示测试用例的数量。
对于每个测试用例:
n(0≤n≤50),表示链表 L1 的节点数。n 个整数,表示 L1 中的元素(按非递减顺序排列)。m(0≤m≤50),表示链表 L2 的节点数。m 个整数,表示 L2 中的元素(按非递减顺序排列)。如果 L1 或 L2 为空,则该行不输入任何数。
对于每个测试用例,输出一行,表示合并后的升序链表。
如果合并后的链表为空,则直接输出一个空行。
3
3
1 2 4
3
1 3 4
0
0
3
1 3 5
1
2
1 1 2 3 4 4
1 2 3 5
L1 和 L2 均按非递减顺序排列。