两个有序链表序列的合并

本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。
输入样例:
1 3 5
2 4 6 8 10
输出样例:
1 2 3 4 5 6 8 10

    public MyLinkNode merge(MyLinkNode node1, MyLinkNode node2){
        MyLinkNode dummyHead = new MyLinkNode();
        MyLinkNode tempNode = dummyHead;
        while (node1 != null || node2 != null){
            int data = 0;
            if(node1 != null && node2 != null){
                data = Math.min(node1.data, node2.data);
            }else if(node1 == null && node2 != null){
                data = node2.data;
            }else{
                data = node1.data;
            }
            if(node1 != null && data == node1.data){
                tempNode.next = node1;
                tempNode = tempNode.next;
                node1 = node1.next;
            }else if(node2 != null && data == node2.data){
                tempNode.next = node2;
                tempNode = tempNode.next;
                node2 = node2.next;
            }
        }
        return dummyHead.next;
    }
    class MyLinkNode{
        int data;
        MyLinkNode next;

        @Override
        public String toString() {
            MyLinkNode temp = this;
            StringBuilder sb = new StringBuilder();
            while (temp != null){
                sb.append("[data: " + temp.data + "]");
                temp = temp.next;
            }
            return sb.toString();
        }
     }

你可能感兴趣的:(两个有序链表序列的合并)