合并两个有序链表
来源:互联网 发布:网络音频广播系统 编辑:程序博客网 时间:2024/05/17 05:57
描述
合并两个有序的单链表,使合并之后的结果仍然有序
样例
给出 1->3->8->11->15->null,2->null
返回 1->2->3->8->11->15->null
代码
/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL; * } * } */class Solution {public: /** * @param ListNode l1 is the head of the linked list * @param ListNode l2 is the head of the linked list * @return: ListNode head of linked list */ ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) { // write your code here ListNode* p1=l1; ListNode* p2=l2; ListNode* n=NULL; if(l1==NULL) return l2; if(l2==NULL) return l1; //找出新链表的头节点 if(p1->val<p2->val) { n=p1; p1=p1->next; } else { n=p2; p2=p2->next; } ListNode* newlist=n; //将p1和p2中的节点有序的插入新链表 while(p1 && p2) { if(p1->val<p2->val) { n->next=p1; p1=p1->next; n=n->next; } else { n->next=p2; p2=p2->next; n=n->next; } } //将p1或者p2中剩余的节点插入新链表 while(p1) { n->next=p1; p1=p1->next; n=n->next; } while(p2) { n->next=p2; p2=p2->next; n=n->next; } return newlist; }};
阅读全文
0 0
- 有序的合并两个有序链表
- 两个有序链表合并为有序
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 两个有序链表合并
- 合并两个有序链表
- 两个有序链表合并
- 合并两个有序链表
- 合并两个有序链表
- 两个有序链表合并
- 合并两个有序链表
- 合并两个有序链表
- MASTSQL
- HTTP错误汇总(404、302、200.....)
- 简单深入了解Activity
- android横屏或纵屏显示
- ubuntu16.04+cuda8.0+pycharm+tensorflow环境配置
- 合并两个有序链表
- SQL For Test
- 合并两个有序的单链表
- iOS积累-iOS图片填充UIImageView(contentMode)
- UI测试常见bug
- TJU训练赛—D
- java 下的 AES org.bouncycastle.crypto 包加密解密算法示例
- Opencv在Release和Debug不同模式下的配置
- Java class 文件信息