博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode:21_Merge Two Sorted Lists | 合并两个排序列表 | Easy
阅读量:7171 次
发布时间:2019-06-29

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

题目:Merge Two Sorted Lists

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.

简单题,只要对两个链表中的元素进行比较,然后移动即可,只要对链表的增删操作熟悉,几分钟就可以写出来,代码如下:

1 struct ListNode { 2     int val; 3     ListNode *next; 4     ListNode(int x):val(x), next(NULL) {} 5 }; 6  7 ListNode *GetLists(int n)    //得到一个列表 8 { 9     ListNode *l = new ListNode(0);10     ListNode *pre = l;11     int val;12     for (int i = 0; i < n; i ++) {13         cin >> val;14         ListNode *newNode = new ListNode(val);15         pre->next = newNode;16         pre = pre->next;17     }18     return l->next;19 }20 21 ListNode *mergeTwoLists(ListNode *l1, ListNode *l2)22 {23     assert (NULL != l1 && NULL != l2);24     if (NULL == l1 && NULL == l2)25         return NULL;26     if (NULL == l1 && NULL != l2) // !!要记得处理一个为空,另一个不为空的情况27         return l2;28     if (NULL != l1 && NULL == l2)29         return l1;30     31     ListNode *temp = new ListNode(0);32     temp->next = l1;33     ListNode *pre = temp;34 35     while(NULL != l1 && NULL != l2) {36         if (l1->val > l2->val) { //从小到大排列37             ListNode *next = l2->next;38             l2->next = pre->next;39             pre->next = l2;40             l2 = next;41         }        42         else {43             l1 = l1->next;44         }45         pre = pre->next;46     }47     if (NULL != l2) {48         pre->next = l2;49     }50     return temp->next;51 }

这其中要注意一点,即要记得处理一个链表为空,另一个不为空的情况,如{}, {0} -- > {0},当然上面的写法多少啰嗦了一些,可以简写。

转载地址:http://ivbzm.baihongyu.com/

你可能感兴趣的文章
《JavaScript高级程序设计》笔记(1):<script>元素
查看>>
图标字体 VS 雪碧图——图标字体应用实践
查看>>
CORS 跨域
查看>>
kafka 单机配置
查看>>
redis maxheap 51200000
查看>>
jquery .On()绑定事件的触发机制
查看>>
jQuery EasyUI table表单数据绑定与数据交互
查看>>
使用PostThreadMessage在Win32线程间传递消息
查看>>
file_get_contents高級用法
查看>>
【温故知新】c#异步编程模型(APM)--使用委托进行异步编程
查看>>
实现301重定向常用的七种方法
查看>>
leetcode437
查看>>
leetcode974
查看>>
leetcode1099
查看>>
JAVA RPC(二)序列化协议杂谈
查看>>
jQuery中的文档处理
查看>>
JProfiler 8(一个很好的java性能监控工具) 下载和注册码
查看>>
微信小程序wx.chooseImage和wx.previewImage的综合使用(图片上传不限制最多张数)...
查看>>
SQL SERVER数据库日常使用总结
查看>>
搭建Nginx服务
查看>>