合并两个有序列表

来源:互联网 发布:淘宝上的小样是真的吗 编辑:程序博客网 时间:2024/05/18 01:39

主要思想:

同时遍历两个列表,同时对两个列表进行数值的比较,在这里是使用自定义的列表,因此比较的就是里面的val的值在这里需要注意几个细节:列表1为空和列表2为空两种情况的逻辑与和逻辑非的处理方法

实现代码:

//自定义列表class ListNode{    int val;    ListNode next;    ListNode(int val){        val = val;    }}public class Main{    public static void main(String[] args){        ListNode l1 = new ListNode(1);        ListNode l2 = new Listnode(2);        ListNode list = new Main().mergeTwoList(l1,l2);    }    public ListNode mergeTwoLists(ListNode l1,ListNode l2){        ListNode head = new ListNode(0);        ListNode list = head;        while(l1 != next && l2 != next){            ListNode node = new ListNode(0);            if(l1.val > l2.val){                node.val = l2.val;                l2 = l2.next;               }               else{                node.val = l1.val;                l1 = l1.val;            }            list.next = node;            list = node;        }        if(l1 == null && l2 != null){            list.next = l2;        }        if(l1 != null && l2 == null){            list.next = l1;        }        return head.next;    }}
0 0