LeetCode 21. Merge Two Sorted Lists
2016-07-22 13:29
411 查看
21. Merge Two Sorted Lists
My Submissions QuestionEditorial Solution
Total Accepted: 120589 Total Submissions: 342161 Difficulty: Easy
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.
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if(l1 != NULL && l2 != NULL) { ListNode *p = l1; ListNode *q = l2; ListNode *t, *h;//t为新链表的连接指针,h为新链表的头指针 if(p->val > q->val) { t = q; h = q; q = q->next; } else { t = p; h = p; p = p->next; } while(p != NULL && q != NULL) { if(p->val > q->val) { t->next = q; t = t->next; q = q->next; } else { t->next = p; t = t->next; p = p->next; } } while(p != NULL && q == NULL) { t->next = p; p = p->next; t = t->next; } while(p == NULL && q != NULL) { t->next = q; q = q->next; t = t->next; } while(p == NULL && q == NULL) { return h; } } if(l1 == NULL && l2 != NULL) { return l2; } if(l1 != NULL && l2 == NULL) { return l1; } if(l1 == NULL && l2 == NULL) { return NULL; } } };
相关文章推荐
- 关于CSDN, cnblog, iteye和51cto四个博客网站的比较与分析
- 最全面的Android Intent机制讲解
- linux环境基础
- jquery中的css() animate() width()的都可以运用相对值
- JavaScript去除数组中重复字符串(未测试)
- 快速编写“专家级”makefile(4.打造更专业的编译环境——改善编译效率)
- 基于Bootstrap实现下图所示效果的页面,一个白底的带有两个菜单项、一个下拉菜单和一个登录表单的基本导航条
- [译]LINT TO SQL 介绍(数据库查询) - Part.3
- Ubuntu16.04安装QQ(图文说明)
- HashSet源码解析
- DateUtils
- 快速编写“专家级”makefile(4.打造更专业的编译环境——管理对库的依赖关系)
- c语言中结构体的使用
- hdu5726 - GCD (RMQ + 二分)
- iOS开发瀑布流的实现
- smarty模板(转载)
- LeetCode 66. Plus One
- LeetCode 24. Swap Nodes in Pairs
- 微信公共平台php用$GLOBALS["HTTP_RAW_POST_DATA"]收不到信息解决方法
- Java NIO系列教程(一) Java NIO 概述