LeetCode_Easy心得:21. Merge Two Sorted Lists(C语言)
来源:互联网 发布:如何用手机检查网络 编辑:程序博客网 时间:2024/05/22 20:00
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
/** 题目分析:输入两组有序链表,要求输出一组新链表,新链表的要求是:链表内的值也是有序的。 */
Example:
链表l1: 3 -> 6 -> 11 -> NULL;
链表I2:2 -> 5 -> 10 ->NULL;
新链表ret: 2 -> 3 -> 5 -> 6 -> 10 -> 11;
/** 这里需要解释一下什么是链表。在C语言中,关键词struct可以创建结构体变量,刚接触struct时,一般结构体变量内部是常见变量类型(例如int,char,long,double等等),而链表可以看成是一种特殊的结构体,因为该结构体变量内部有至少一个指针变量。 */
/** 本题因为需要输入两组有序链表,因此就本题而言举一个链表创建实例。 */
Example:
struct ListNode { int key; //链表的值域,此处存放变量具体值; struct ListNode *next; //链表的指针域,用于指向其他链;};//此时链表模型创建完毕;
/** 代码分析:本题主要用到的思路是递归。从输入链表的开始部分值域进行比较大小,小的链接在新链表末尾,直至两个链表全部比较完毕。 */
struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2) { struct ListNode *ret; if(l1 == NULL) return l2; //如果链表l1是空链表,直接返回链表l2; if(l2 == NULL) return l1; //如果链表l2是空链表,直接返回链表l1; if(l1->key> l2->key){ //比较两组链表最小值域; ret = l2; //因为l2值域值更小,所以链接在ret末端; ret ->next = mergeTwoLists(l1, l2->next); //此处用到了递归; return ret; }else{ ret = l1; //因为l1值域值更小,所以链接在ret末端; ret ->next = mergeTwoLists(l1->next, l2); //此处用到了递归; return ret; }}//当递归最后一层运算结束后,执行最后一层递归函数的return命令;
LeetCode运行时间:6ms
阅读全文
0 0
- LeetCode_Easy心得:21. Merge Two Sorted Lists(C语言)
- Leetcode c语言- Merge Two Sorted Lists
- 【LeetCode】21. Merge Two Sorted Lists C语言
- LeetCode_Easy心得:1. Two Sum(C语言)
- Leetcode 21. Merge Two Sorted Lists(C++)
- 【C++】【LeetCode】21. Merge Two Sorted Lists
- [LeetCode]21. Merge Two Sorted Lists(C++)
- Merge Two Sorted Lists(C++)
- 21. Merge Two Sorted Lists(Sort)
- 21. Merge Two Sorted Lists(python)
- [C语言][LeetCode][21]Merge Two Sorted Lists
- LeetCode-21-Merge Two Sorted Lists(C语言实现)
- 21.Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists
- Spring boot学习之spring-data-jpa的使用(一)
- WM_DEVICECHANGE
- 2017暑期ACM俱乐部个人训练赛第1场
- 新手上路 jquery 选择器篇(三) 代码笔记
- WUST 1846 营养膳食(贪心)【简单贪心类模板】
- LeetCode_Easy心得:21. Merge Two Sorted Lists(C语言)
- 搜索专题:HDU1241 Oil Deposits
- uart_stdio实验
- hdu1000 A + B Problem(C语言)
- 看过的机器学习深度学习,NLP课程,视频
- 微信企业号开发之access_token接口调用示例
- vue-cli构建项目之mock data
- C/S架构和B/S架构的区别及优缺点
- HDU-1702 ACboy needs your help again! 栈和队列