1. 程式人生 > 其它 >簡單21 合併兩個有序連結串列

簡單21 合併兩個有序連結串列

package leetcode;

class ListNode {
int val;
ListNode next;
ListNode() {}
ListNode(int val) { this.val = val; }
ListNode(int val, ListNode next) { this.val = val; this.next = next; }
}

class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if(l1==null) {
return l2;
}
else if(l2==null) {
return l1;
}
else {
if(l1.val>l2.val) {
ListNode temp=l1;
l1=l2;
l2=temp;
}


ListNode l=l1;
ListNode p=l1;
// ListNode q=l2;
while((l1!=null)&&(l2!=null)) {
if(l1.val<=l2.val) {
p=l1;
l1=l1.next;
}
p.next=l2;
p=p.next;
l2=l2.next;
p.next=l1;
}
if(l2!=null) {
p.next=l2;
}
return l;
}

}


public static void main(String[] args) {

Solution solution=new Solution();
// String s="[[]]() }{()}";
ListNode l1=new ListNode(1);
l1.next=new ListNode(2);
l1.next.next=new ListNode(4);
ListNode l2=new ListNode(1);
l2.next=new ListNode(3);
l2.next.next=new ListNode(4);
System.out.println(solution.mergeTwoLists(l1, l2));
}
}

以上是程式碼 但是執行報錯 會時間超時 讓翔哥幫我找bug 好難啊 我就是最菜的