题目地址(25. 合并两个排序的链表)
https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/
题目描述
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000注意:本题与主站 21 题相同:https://leetcode-cn.com/problems/merge-two-sorted-lists/
前置知识
公司
- 暂无
思路
关键点
代码
- 语言支持:Java
Java Code:
/*** 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 pre = new ListNode(-1);//将l1l2的节点保存在返回链表中的动态下标ListNode cur = pre;//只有两边都不为空的情况才执行while (l1 != null && l2 != null) {//如果l1的值小于等于l2的值 就返回l1 反之 返回l2if (l1.val <= l2.val) {cur.next = l1;cur = cur.next;l1 = l1.next;}else{cur.next = l2;cur = cur.next;l2 = l2.next;}}//如果有一边=null 直接将另一个链表接在最后面就行if (l1 != null) {cur.next = l1;}if (l2 != null) {cur.next = l2;}return pre.next;}}
复杂度分析
令 n 为数组长度。
- 时间复杂度:
#card=math&code=O%28n%29&id=kuWJA)
- 空间复杂度:
#card=math&code=O%28n%29&id=S1r5f)


