leetcode Merge Two Sorted Lists
2015-08-05 20:03
405 查看
[code] class Solution { public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if (l1 == NULL) { return l2; } if (l2 == NULL) { return l1; } ListNode* help = new ListNode(0); ListNode* head = help; while (l1 && l2) { if (l1->val > l2->val) { help->next = l2; l2 = l2->next; } else { help->next = l1; l1 = l1->next; } help = help->next; } if (l1) { help->next = l1; } if (l2) { help->next = l2; } return head->next; } };
网上的用递归的解法:
[code]ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) { if (l1 == NULL) return l2; if (l2 == NULL) return l1; ListNode *ret = NULL; if (l1->val < l2->val) { ret = l1; ret->next = mergeTwoLists(l1->next, l2); } else { ret = l2; ret->next = mergeTwoLists(l1, l2->next); } return ret; }
相关文章推荐
- Android Adapter以及getView()方法的理解
- EXCEL学习笔记——小技巧
- Linux输入子系统(转)
- Java多线程通信-利用传统的线程通信wait(),notify()方法实现“生产者消费者模式”
- http
- C++ 中的虚继承
- TelephonyUtils 工具类
- OpenGL坐标变换
- mybatis 映射准备工作
- 利用多线程搭建的聊天窗口(8.5)
- O - Steady Cow Assignment - POJ 3189(多重匹配+枚举)
- leetcode 090 —— Subsets II
- Android InputMethodManager输入法简介
- 继承与多态
- PIC汇编指令
- 文件读取/写入
- Activity传递参数——传递复杂数据(Bunble包)
- uva 10954 Add All(哈弗曼编码)
- 机房收费系统之修改
- Openjudge6039 大师兄,师傅被妖怪抓走啦(模拟)