NC33 合并两个排序的链表
描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
示例1
输入:
{1,3,5},{2,4,6}
复制
返回值:
{1,2,3,4,5,6}
/*
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 && list2 == null ){
return null ;
}
if(list1 == null ){
return list2 ;
}
if( list2 == null){
return list1 ;
}
ListNode dummy =new ListNode(0) ;
ListNode port =dummy;
while(list1 != null && list2 != null){
if(list1.val > list2.val){
port.next = list2 ;
//port = port.next ;
list2 = list2.next ;
}else{
port.next = list1 ;
list1 = list1.next ;
}
port = port.next ;
}
while(list1 != null){
port.next = list1 ;
port = port.next ;
list1 = list1.next ;
}
while(list2 != null){
port.next = list2 ;
port = port.next ;
list2 = list2.next ;
}
return dummy.next ;
}
}
本文讲解如何使用Java编程解决NC33问题,通过合并两个单调递增的链表,确保合并后的链表保持递增顺序。实例演示了如何构造Solution类的方法ListNodeMerge,以链表节点操作实现链表合并过程。

387

被折叠的 条评论
为什么被折叠?



