问题描述
将两个升序链表合并为一个新的升序链表并返回,新链表是通过拼接给定的两个链表的所有节点组成的
示例1:
输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]
示例2:
输入:l1 = [], l2 = []
输出:[]
示例3:
输入:l1 = [], l2 = [0]
输出:[0]
提示
1:两个链表的节点数目范围是[0,50]
2:-100 <= Node.val <= 100
3:l1和l2均按非递减顺序排列
题解
第一种方法是迭代,当l1和l2都不是空链表时,我们要做的是判断l1和l2哪一个链表更小,将较小的那一个添加到结果中,当一个节点填入后,将对应链表的节点向后移一位。
/**
*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 Li