21. 合并两个有序链表
链表 两个 合并 21 有序
2023-06-13 09:14:05 时间
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
解:比较简单,一个while循环就行
/**
* 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 listNode = new ListNode(0);
ListNode p = listNode;
while (l1 != null && l2 != null) {
if (l1.val <= l2.val) {
p.next = l1;
l1 = l1.next;
} else {
p.next = l2;
l2 = l2.next;
}
p = p.next;
}
if (l1 != null) {
p.next = l1;
}
if (l2 != null) {
p.next = l2;
}
return listNode.next;
}
}
相关文章
- ☆打卡算法☆LeetCode 206. 反转链表 算法解析
- 【RTOS训练营】课程学习方法和C语言知识(指针、结构体、函数指针、链表)和学员问题
- LeetCode 21. 合并两个有序链表 题解 C++
- 剑指offer No.16 合并两个排序的链表
- 【力扣刷题】24. 两两交换链表中的节点
- 双向带头循环链表的(增删查改)的实现
- 常用链表排序算法_单链表的排序算法
- 【day10】LeetCode(力扣)刷题(注释详细)[707.设计链表][278.第一个错误的版本][98. 验证二叉搜索树]
- 【数据结构初阶】直接插入排序和希尔排序&链表排序
- 数据结构实验之链表三:链表的逆置(SDUT 2118)
- 【数据结构初阶】复杂链表复制+带头双向循环链表+缓存级知识
- 寻找两个链表相交节点方法(可以是有环链表)
- 算法-两个链表的第一个公共结点详解编程语言
- LeetCode 0109 有序链表转换二叉搜索树详解编程语言
- 算法练习之合并两个有序链表, 删除排序数组中的重复项,移除元素,实现strStr(),搜索插入位置,无重复字符的最长子串详解编程语言
- Redis链表实现从理论到实践(redis链表实现)
- c语言链表操作示例分享