/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public static ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode result = new ListNode(0);
ListNode point = result;
//三种情况,大于,小于,等于
//结果以l1、l2作为另外另个链表的指针,遍历
while(l1!=null&&l2!=null) {
if(l1.val>l2.val) {
point.next = new ListNode(l2.val);
point = point.next;
if(l2.next==null||l2.next.val>l1.val) {
point.next = new ListNode(l1.val);
point=point.next;
l1=l1.next;
}
l2=l2.next;
}else if(l1.val<l2.val){
point.next = new ListNode(l1.val);
point = point.next;
if(l1.next==null||l1.next.val>l2.val) {
point.next = new ListNode(l2.val);
point=point.next;
l2=l2.next;
}
l1=l1.next;
}else {
point.next = new ListNode(l2.val);
point=point.next;
point.next = new ListNode(l2.val);
point=point.next;
l1=l1.next;
l2=l2.next;
}
}
while(l1!=null) {
point.next = new ListNode(l1.val);
point = point.next;
l1=l1.next;
}
while(l2!=null) {
point.next = new ListNode(l2.val);
point = point.next;
l2=l2.next;
}
return result.next;
}
}
21 合并两个有序数组
猜你喜欢
转载自blog.csdn.net/zcy_wxy/article/details/86534959
今日推荐
周排行