简单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 好难啊 我就是最菜的 

 

上一篇:两数相加


下一篇:Java 100道经典机试笔试题(12)——附可运行代码