链表 Merge Two Sorted Lists
来源:互联网 发布:淘宝2016年营业额 编辑:程序博客网 时间:2024/06/06 01:56
思想:
创建虚拟头结点简便代码,一个一个串节点。
/** * 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) return l2; if(l2 == NULL) return l1; ListNode *dummy = new ListNode(-1); ListNode *p = dummy; while(l1 != NULL && l2 != NULL) { if(l1->val > l2->val) { p->next = l2; l2 = l2->next; }else { p->next = l1; l1 = l1->next; } p = p->next; } if(l1 == NULL) { p->next = l2; }else if(l2 == NULL) { p->next = l1; } return dummy->next; }};
java:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1 == null) return l2; if(l2 == null) return l1; ListNode res = new ListNode(-1); ListNode p = res; while(l1 != null && l2 != null) { if(l1.val <= l2.val) { p.next = l1; l1 = l1.next; }else { p.next = l2; l2 = l2.next; } p = p.next; } if(l1 != null) { p.next = l1; } if(l2 != null) { p.next = l2; } return res.next; }}
0 0
- 【链表】Merge Two Sorted Lists
- 链表 Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- json学习(JavaScript Object Notation)
- 【FOJ 1360】 Run Length Encoding
- 延展。。 16进制颜色转换
- 几篇最近看的Android 插件+打包文章记录
- 多线程单线程
- 链表 Merge Two Sorted Lists
- 【Java基础之多维数组访问】访问多维数组时潜在的性能问题
- POJ 1011 Sticks
- surf特征点keypoint转化成mat类型或存储起来的办法
- 支持语音输入的文本框(x-webkit-speech)
- android手机客户端与pc机进行socket通信
- 会场安排问题
- Windows 不能在 本地计算机 启动 OracleDBConsoleorcl 解决
- 页面中时间选择类型时后面的时间格式的转换