博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)
阅读量:4507 次
发布时间:2019-06-08

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

题目描述

 

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

示例:

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

 

解题思路

 

首先找到新链表头节点,即两个链表头节点值较小的节点,然后以头节点所在链表为准,依次将另一个链表插入到对应位置中。

 

代码

 

1 /** 2  * Definition for singly-linked list. 3  * struct ListNode { 4  *     int val; 5  *     ListNode *next; 6  *     ListNode(int x) : val(x), next(NULL) {} 7  * }; 8  */ 9 class Solution {10 public:11     ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {12         if(l1 == NULL) return l2;13         if(l2 == NULL) return l1;14         if(l1->val > l2->val)15             return mergeTwoLists(l2, l1);16         ListNode* head = l1;17         while(l1->next && l2){18             if(l1->next->val > l2->val){19                 ListNode* next = l2->next;20                 l2->next = l1->next;21                 l1->next = l2;22                 l2 = next;23             }24             l1 = l1->next;25         }26         if(l2) l1->next = l2;27         return head;28     }29 };

 

转载于:https://www.cnblogs.com/wmx24/p/9543086.html

你可能感兴趣的文章
numpy_pandas
查看>>
oracle数据导入/导出(2)
查看>>
SSH远程会话管理工具 - screen使用教程
查看>>
设计模式
查看>>
前端复习-01-dom操作包括ie和现代浏览器处理相关
查看>>
[CF612D] The Union of k-Segments(排序,扫描线)
查看>>
linux安装nginx
查看>>
spark书籍视频推荐
查看>>
django之富文本编辑器
查看>>
jsp第三章
查看>>
Android平台下利用zxing实现二维码开发
查看>>
【HTTP】Fiddler(三)- Fiddler命令行和HTTP断点调试
查看>>
镜像源归类
查看>>
IE下的document.onclick问题
查看>>
[模板]后缀数组
查看>>
git添加本地文件到github仓库
查看>>
0502《构建之法》第六、七章读后感
查看>>
[福大软工] Z班——Beta现场答辩反馈
查看>>
利用Pycharm本地调试spark-streaming(包含kafka和zookeeper等操作)
查看>>
Web控件
查看>>