首页 > 其他分享 >lc21合并两个有序链表

lc21合并两个有序链表

时间:2023-02-26 15:32:40浏览次数:51  
标签:lc21 ListNode val list1 next 链表 有序 list2

​21. 合并两个有序链表​

难度简单2934收藏分享切换为英文接收动态反馈

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

 

示例 1:

lc21合并两个有序链表_有序链表

输入: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​
  • ​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 list1, ListNode list2) {
ListNode dummy = new ListNode(-1);
ListNode p = dummy;
while(list1!=null && list2!=null){
if(list1.val<list2.val){
p.next=list1;
list1=list1.next;
}else{
p.next=list2;
list2=list2.next;
}
p=p.next;
}
if(list1!=null){
p.next=list1;
}
if(list2!=null){
p.next=list2;
}

return dummy.next;
}
}

标签:lc21,ListNode,val,list1,next,链表,有序,list2
From: https://blog.51cto.com/u_12550160/6086622

相关文章

  • 数组类目:力扣88. 合并两个有序数组
    思路:代码:classSolution{publicvoidmerge(int[]nums1,intm,int[]nums2,intn){intlen1=m-1;intlen2=n-1;intlen=m+......
  • pat乙级链表问题
    链表题目:一开始以为要按照链表那样一个一个搞,看完这个后思路清晰:1025链表一连a三题链表题。在输入完链表之后,遍历链表使用另一个数组(可以是指针数组也可以是节点数组)记录......
  • 时间击败100%用户的快慢指针删除链表中的倒数第n个节点算法
    //给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 ///***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNoden......
  • 单链表的翻转
    单链表的翻转//链表定义structSingleLinkedList{intvalue;structSingleLinkedList*next;};//打印链表中的数据voidprintAllNodes(structSingleLinkedList......
  • 链表链表相交
    leetcode:链表相交Method判断链表相交否,先看两个链表的长度,使得长链表移动长度之差绝对值的长度,移动后的两个新链表长度一样,在判断两个节点是否地址相同代码/***Def......
  • 链表:删除倒数第N个节点
    思路这道题如果是暴力,其实可以先反转,在删除,在反转,麻烦Method双指针:思路:建立一个头节点node,然后fast和slow指针都指向node,然后fast先跑n+1距离,fast先走,就会与slow......
  • Redis设计与实现—简单动态字符串、链表、字典
    前言《Redis设计与实现》数据结构部分有关字符串类型介绍。@目录前言一、数据结构——简单动态字符串1.1SDS定义1.2SDS与C字符串的区别1.2.1常数复杂度获取字符串长度......
  • 离线数仓中的拉链表
    拉链表什么是拉链表?​拉链表,记录每条信息的生命周期,一旦一条记录的生命周期结束,就重新开始一条新的记录,并把当前日期放入生效的开始日期。(就是在原来表的基础上,......
  • #yyds干货盘点# LeetCode面试题:K 个一组翻转链表
    1.简述:给你链表的头节点head,每 k 个节点一组进行翻转,请你返回修改后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩......
  • #yyds干货盘点# LeetCode面试题:删除有序数组中的重复项
    1.简述:给你一个升序排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。由于在某些语言中不......