【LeetCode】第10天 - 21. 合并两个有序链表

简介: 【LeetCode】第10天 - 21. 合并两个有序链表

题目描述

在这里插入图片描述

解题思路

  • 遍历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 ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        if(l1 == null) return l2;
        if(l2 == null) return l1;
        ListNode l3 = new ListNode(0);
        ListNode res = l3;

        while(l1 != null || l2 != null){
            if(l1 == null){
                l3.next = l2;
                break;
            }
            if(l2 == null){
                l3.next = l1;
                break;
            }

            if(l1.val > l2.val){
                l3.next = l2;
                l2 = l2.next;
            }else{
                l3.next = l1;
                l1 = l1.next;
            }

            l3 = l3.next;
        }

        return res.next;
    }
}
目录
相关文章
|
2月前
|
算法
LeetCode刷题---21.合并两个有序链表(双指针)
LeetCode刷题---21.合并两个有序链表(双指针)
【移除链表元素】LeetCode第203题讲解
【移除链表元素】LeetCode第203题讲解
|
2月前
|
存储
【合并两个有序数组】LeetCode第88题讲解
【合并两个有序数组】LeetCode第88题讲解
|
2月前
|
算法 测试技术
LeetCode刷题--- 430. 扁平化多级双向链表(深度优先搜索)
LeetCode刷题--- 430. 扁平化多级双向链表(深度优先搜索)
|
16天前
【力扣】21. 合并两个有序链表
【力扣】21. 合并两个有序链表
|
2月前
|
存储 JavaScript
leetcode82. 删除排序链表中的重复元素 II
leetcode82. 删除排序链表中的重复元素 II
22 0
|
2月前
leetcode83. 删除排序链表中的重复元素
leetcode83. 删除排序链表中的重复元素
10 0
|
2月前
leetcode2807.在链表中插入最大公约数
leetcode2807.在链表中插入最大公约数
16 0
|
2月前
leetcode2487.从链表中移除节点
leetcode2487.从链表中移除节点
20 1
|
2月前
|
存储 算法
LeetCode刷题--- 61. 旋转链表(快慢指针+闭合为环)
LeetCode刷题--- 61. 旋转链表(快慢指针+闭合为环)