思路:首先判断两个有序链表是否为空,不为空则找出两个链表当前节点数值较小的,添加进自己定义的链表,直到有一个链表为空,然后将不为空的有序链表按照顺序添加进自定义的链表中。
上代码:
public class Solution {
/**
*
* @param l1 ListNode类
* @param l2 ListNode类
* @return ListNode类
*/
public ListNode mergeTwoLists (ListNode l1, ListNode l2) {
// write code here
ListNode res=new ListNode(-1);//初始化自定义链表
ListNode node=res;//需要返回的链表,保存自定义链表头节点
while(l1!=null&&l2!=null){
if(l1.val>=l2.val){//l2的节点值较小
res.next=l2;
res=res.next;
l2=l2.next;
}else{//l1的节点值较小
res.next=l1;
res=res.next;
l1=l1.next;
}
}
if(l1!=null){//最后将不为空的链表添加进去
while(l1!=null){
res.next=l1;
res=res.next;
l1=l1.next;
}
}else if(l2!=null){
res.next=l2;
res=res.next;
l2=l2.next;
}
return node.next;
}
}


京公网安备 11010502036488号