美文网首页
21. 合并两个有序链表

21. 合并两个有序链表

作者: 一直流浪 | 来源:发表于2022-10-10 08:07 被阅读0次

21. 合并两个有序链表

题目链接:https://leetcode-cn.com/problems/merge-two-sorted-lists/

难度:简单

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例:

输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

解法一:

创建一个新链表result,然后用指针l1l2遍历这两个链表,比较遍历到的元素,把小的添加到新链表,然后把指针向后移动。直到有一个指针遍历完了整个链表,则将另一个链表的剩余元素直接补到result后面。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        ListNode head = new ListNode(0);
        ListNode result = head;
        if(l1 == null) {
            return l2;
        }
        if(l2 == null) {
            return l1;
        }
        
        while(l1 != null && l2 != null) {
            if(l1.val < l2.val) {
                head.next = l1;
                l1 = l1.next;
            }else {
                head.next = l2;
                l2 = l2.next;
            }
            head = head.next;
        }
        
        if(l1!=null) {
            head.next = l1;
        }
        if(l2!=null) {
            head.next = l2;
        }
        return result.next;
    }
}

相关文章

  • leetcode 链表 [C语言]

    21. 合并两个有序链表 合并两个有序链表 61. 旋转链表 (快慢指针) 61. 旋转链表 相关标签 : 链表 ...

  • [Leetcode] 21. 合并两个有序链表

    21. 合并两个有序链表 来源: 21. 合并两个有序链表 1. 解题思路 递归或者非递归 2. 代码 2.1 ...

  • leetcode linked list

    21. 合并两个有序链表 83. 删除排序链表中的重复元素 21. 合并两个有序链表 160. 相交链表 第三个想...

  • LeetCode-21 合并两个有序链表

    题目:21. 合并两个有序链表 难度:简单 分类:链表 解决方案:链表的遍历 今天我们学习第21题合并两个有序链表...

  • LeetCode 21. 合并两个有序链表

    21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成...

  • 21. 合并两个有序链表

    20180923-摘抄自21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定...

  • 21. 合并两个有序链表

    21.合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的...

  • [LeetCode]21-合并两个有序链表

    21. 合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的...

  • LeetCode 链表 > 21. 合并两个有序链表

    21. 合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的...

  • 每日Leetcode—算法(3)

    21.合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的...

网友评论

      本文标题:21. 合并两个有序链表

      本文链接:https://www.haomeiwen.com/subject/kgiqwrtx.html