牛客网编程-合并两个有序链表(java)
2017-09-05 20:37
309 查看
思路:线性规划,遍历两个链表,比较表头的值,小的一方剔除出下次遍历
代码:
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode Merge(ListNode list1,ListNode list2) {
if(list1 == null){
return list2;
}
if(list2 == null){
return list1;
}
ListNode temp3 = null;
if(list1.val > list2.val){
temp3 = list2;
temp3.next = Merge(list1,list2.next);
}else{
temp3 = list1;
temp3.next = Merge(list1.next,list2);
}
return temp3;
}
}
end
代码:
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode Merge(ListNode list1,ListNode list2) {
if(list1 == null){
return list2;
}
if(list2 == null){
return list1;
}
ListNode temp3 = null;
if(list1.val > list2.val){
temp3 = list2;
temp3.next = Merge(list1,list2.next);
}else{
temp3 = list1;
temp3.next = Merge(list1.next,list2);
}
return temp3;
}
}
end
相关文章推荐
- Java实现两个有序链表的合并
- 九度1519题 合并两个有序链表java实现,(也是剑指offer中的题)
- Leet Code 21 合并两个有序链表 - Java
- PAT:两个有序链表序列的合并(Java实现)
- 已知两个链表 la和 lb,其元素值递增排序。编程将la和lb合并成一个递减有序(相同值元素只保留一个)的链表lc。(北方名校经典试题) 本题选做
- 将两个递增的有序链表合并为一个递增的有序链表(C语言编程实现)
- Java实现两个有序的单项链表的合并
- 5-51 两个有序链表序列的合并(Java)
- 合并两个有序链表(Java递归实现)
- 将两个递增的有序链表合并为一个递增的有序链表(C语言编程实现)
- 将两个非递减的有序链表合并为一个非递增的有序链表(C语言编程实现)
- Java 合并两个有序链表
- Java将两个有序链表合并为一个有序链表、将两个有序数组合并成一个有序数组
- 《剑指offer》牛客网java题解-合并两个排序的链表
- 将两个非递减的有序链表合并为一个非递增的有序链表(C语言编程实现)
- 合并两个有序链表(Merged Two Sorted Lists)需要回顾
- [LeetCode]Sort List 链表排序 + Merge Two Sorted List 合并两个有序链表
- 已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序
- [PAT] 02-线性结构1 两个有序链表序列的合并
- 5-15 两个有序链表序列的合并