package LeeCode;
public class CeShi {
public static void main(String[] args) {
ListNode firstNode3=new ListNode(5);
ListNode firstNode2=new ListNode(3,firstNode3);
ListNode firstNode1=new ListNode(firstNode2);
ListNode secondNode4=new ListNode(4);
ListNode secondNode3=new ListNode(3,secondNode4);
ListNode secondNode2=new ListNode(2,secondNode3);
ListNode secondNode1=new ListNode(secondNode2);
ListNode.mergeTwoLists(firstNode1, secondNode1);
}
}
class ListNode{
int val;
ListNode next;
public ListNode() {}
public ListNode(int val,ListNode next) {
// 中间节点
this.val=val;
this.next=next;
}
public ListNode(int val) {
// 尾节点
this.val=val;
}
public ListNode(ListNode next) {
// 头节点
this.next=next;
}
public static ListNode mergeTwoLists(ListNode l1, ListNode l2) {
// 判断哪个节点在前哪个在后,返回在前的节点
if(l1.next==null) {
System.out.println("这说明l1已经到最后一个了因此返回l2");
return l2;
}
else if(l2.next==null) {
System.out.println("这说明l2已经到最后一个了因此返回l1");
return l1;
}
else if(l1.val<l2.val) {
System.out.println("这说明l1在前,因此返回l1,再将l2与l1的下一个值继续比较");
l1.next=mergeTwoLists(l1.next, l2);
return l1;
}
else {
System.out.println("这说明l2在前,因此返回l2,再将l1与l2的下一个值继续比较");
l2.next=mergeTwoLists(l1, l2.next);
return l2;
}
}
}
Java链表迭代排序
最新推荐文章于 2023-06-27 20:13:36 发布