鏈表--有序鏈表合并

將兩個有序鏈表合并為一個新的有序鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節(jié)點組成的。

輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4

 public static LinkedNode orderListMerge(LinkedNode node1, LinkedNode node2) {

        if (node1 == null) {
            return node2;
        }

        if (node2 == null) {
            return node1;
        }

        //遞歸獲取下一個結點
        LinkedNode node;
        if (node1.item <= node2.item) {
            node = new LinkedNode(node1.item);
            node.next = orderListMerge(node1.next, node2);
        } else {
            node = new LinkedNode(node2.item);
            node.next = orderListMerge(node1, node2.next);
        }

        return node;
    }

    private static class LinkedNode {

        private int item;

        private LinkedNode next;

        public LinkedNode() {
        }

        public LinkedNode(int item) {
            this.item = item;
        }

        public LinkedNode(int item, LinkedNode next) {
            this.item = item;
            this.next = next;
        }
    }

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。