将两个有序链表合并为一个有序链表
思路:
前提:必须保证两个链表为有序链表
1、异常判断
1)两个单链表都没空,则返回null
2)链表1为空,则返回链表2。反之返回链表1
3)比较两个链表头结点的大小。如果链表1的头结点比链表2的头结点小,则将新链表的头结点、尾节点指向链表1的头结点,同时将链表1的头结点更新为下一个结点。反之则将新链表的头结点指向链表2的头结点、尾节点,同时更新链表2的头结点为下一个结点。
2、使用while循环,当两个单链表都不为null的情况下,如果链表1的头结点<链表2的头结点,则将新链表的尾结点指向链表1的头结点,同时将更新后的新链表的最后一个结点更新成head1并将链表1的头结点后移。
反之,则同样的操作用于链表2。
3、循环结束后,判断两个链表中是否有空的链表,如果不为空,则将该链表的头结点及后面的结点直接放入新链表的末尾。
4、最后返回新链表的头结点
代码:
1、创建一个Node对象
class Node{
public int no;
public String name;
public String nickName;
public Node next;
public Node(int no,String name,String nickName){
this.no = no;