力扣21:合并两个有序链表

题目

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

示例 1:

复制代码
输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]

示例 2:

复制代码
输入:l1 = [], l2 = []
输出:[]

示例 3:

复制代码
输入:l1 = [], l2 = [0]
输出:[0]

提示:

  • 两个链表的节点数目范围是 [0, 50]

  • -100 <= Node.val <= 100

  • l1l2 均按 非递减顺序 排列

思路

简单的链表作为我的链表入门

题解

Go 复制代码
/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func mergeTwoLists(list1 *ListNode, list2 *ListNode) *ListNode {
    dummy := ListNode{}
    cur := &dummy
    for list1 != nil && list2 != nil{
        if list1.Val < list2.Val{
            cur.Next = list1
            list1 = list1.Next
        } else {
            cur.Next = list2
            list2 = list2.Next
        }
        cur = cur.Next
    }
    if list1 != nil{
        cur.Next = list1
    } else {
        cur.Next = list2
    }
    return dummy.Next
}
相关推荐
草莓工作室4 小时前
数据结构8:栈
c语言·数据结构
Han.miracle4 小时前
数据结构——排序的学习(一)
java·数据结构·学习·算法·排序算法
爱coding的橙子4 小时前
每日算法刷题Day76:10.19:leetcode 二叉树12道题,用时3h
算法·leetcode·职场和发展
晚枫~5 小时前
图论基础:探索节点与关系的复杂网络
网络·数据结构·图论
liu****6 小时前
20.哈希
开发语言·数据结构·c++·算法·哈希算法
夏鹏今天学习了吗6 小时前
【LeetCode热题100(47/100)】路径总和 III
算法·leetcode·职场和发展
smj2302_796826526 小时前
解决leetcode第3721题最长平衡子数组II
python·算法·leetcode
m0_626535207 小时前
力扣题目练习 换水问题
python·算法·leetcode
第六五7 小时前
DPC和DPC-KNN算法
人工智能·算法·机器学习