剑指 Offer 25. 合并两个排序的链表
发布日期:2021-06-20 02:50:17 浏览次数:7 分类:技术文章

本文共 920 字,大约阅读时间需要 3 分钟。

题目

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。

示例一

输入:1->2->4, 1->3->4

输出:1->1->2->3->4->4

代码

/** * Definition for singly-linked list. * struct ListNode {
* int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {
} * }; */class Solution {
public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode * cur1 = l1, * cur2 = l2; ListNode * head = new ListNode(0); ListNode * cur = head; while(cur1 && cur2){
if(cur1->val < cur2->val){
cur->next = cur1; cur1 = cur1->next; cur = cur -> next; }else{
cur->next = cur2; cur2 = cur2->next; cur = cur -> next; } } if(cur1){
cur->next = cur1; } if(cur2){
cur->next = cur2; } return head->next; }};

转载地址:https://blog.csdn.net/free1993/article/details/115072269 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:剑指 Offer 24. 反转链表
下一篇:剑指 Offer 52. 两个链表的第一个公共节点

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年03月27日 03时22分32秒