LeetCode 21. Merge Two Sorted Lists
2016-04-12 23:54
375 查看
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.
I personally prefer to add a dummy node. But need to remember to delete it after. This will cause memory overflow in some cases.
I personally prefer to add a dummy node. But need to remember to delete it after. This will cause memory overflow in some cases.
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if(!l1) return l2; if(!l2) return l1; ListNode* dummy = new ListNode(0); ListNode* newHead = dummy; ListNode* l1_node = l1; ListNode* l2_node = l2; while(l1_node && l2_node) { if(l1_node->val <= l2_node->val) { ListNode* l1_next = l1_node->next; dummy->next = l1_node; dummy = l1_node; l1_node = l1_next; } else { ListNode* l2_next = l2_node->next; dummy->next = l2_node; dummy = l2_node; l2_node = l2_next; } } if(l1_node) dummy->next = l1_node; if(l2_node) dummy->next = l2_node; ListNode* head = newHead->next; delete newHead; return head; }
相关文章推荐
- 学习css3到底要学些什么
- CAS 登录流程
- 关于表达式计算的问题
- BZOJ1009: [HNOI2008]GT考试
- 重命名 sql server 安装服务器
- Android 自定义RecyclerView布局(一)
- Spark 中 map 与 flatMap 的区别
- [Usaco2008 Oct]灌水(MST)
- 为什么一个java源文件中只能有一个public类?
- Horner规则求解多项式的值
- pthread编译与sudo
- 四大组件之Service 前台服务
- c++作业3
- c++作业-3
- Android基础 ————四大组件之Service
- C++作业3
- Linux,du、df统计磁盘情况不一致
- Android java层音频相关的分析与理解(三)调用相关
- Xcode 制作静态库 .a文件的具体步骤
- C++作业3