LeetCode_OJ【21】Merge Two Sorted Lists
2015-09-16 20:25
459 查看
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.
本体思路:比较两个链表当前节点的val值,并将较小值添加到新链上,当其中一个链表比较完了,将另一个链表接到新链的末尾。
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) {
ListNode dummy = new ListNode(-1);
ListNode p = dummy;
while(l1 != null && l2 != null){
if(l1.val < l2.val){
p.next = l1;
l1 = l1.next;
p = p.next;
}
else{
p.next = l2;
l2 = l2.next;
p = p.next;
}
}
if(l1 != null){
p.next = l1;
}
else{
p.next = l2;
}
return dummy.next;
}
}
本体思路:比较两个链表当前节点的val值,并将较小值添加到新链上,当其中一个链表比较完了,将另一个链表接到新链的末尾。
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) {
ListNode dummy = new ListNode(-1);
ListNode p = dummy;
while(l1 != null && l2 != null){
if(l1.val < l2.val){
p.next = l1;
l1 = l1.next;
p = p.next;
}
else{
p.next = l2;
l2 = l2.next;
p = p.next;
}
}
if(l1 != null){
p.next = l1;
}
else{
p.next = l2;
}
return dummy.next;
}
}
相关文章推荐
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- javascript数组操作总结和属性、方法介绍
- mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
- JavaScript Array扩展实现代码
- JavaScript之数组(Array)详解
- C#中Array与ArrayList用法及转换的方法
- Array栈方法和队列方法的特点说明
- Array.prototype.slice 使用扩展
- Array, Array Constructor, for in loop, typeof, instanceOf
- 实例详解ECMAScript5中新增的Array方法
- js Array的用法总结
- JavaScript 判断判断某个对象是Object还是一个Array
- Javascript中的Array数组对象详谈
- js模拟实现Array的sort方法
- 在javascript将NodeList作为Array数组处理的方法
- PHP array_multisort()函数的使用札记
- PHP中array_merge和array相加的区别分析
- Sorting Array Values in PHP(数组排序)
- 深入array multisort排序原理的详解
- Array 重排序方法和操作方法的简单实例