這篇文章主要介紹“Java怎么實(shí)現(xiàn)兩兩合并”,在日常操作中,相信很多人在Java怎么實(shí)現(xiàn)兩兩合并問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java怎么實(shí)現(xiàn)兩兩合并”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進(jìn)行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
package com.lifeibigdata.algorithms.leetcode; import java.util.ArrayList; import java.util.List; /** * Created by lifei on 16/5/30. * * 1 轉(zhuǎn)化為兩兩合并 */ public class MergeKLists { public static void main(String[] args) { ListNode l1 = new ListNode(1); ListNode n1 = new ListNode(3); ListNode n2 = new ListNode(4); ListNode l2 = new ListNode(5); l1.next = n1; n1.next = n2; Listlists = new ArrayList<>(); lists.add(l1); lists.add(l2); MergeKLists mt = new MergeKLists(); ListNode head = mt.mergeKLists(lists); System.out.println(head.val); System.out.println(head.next.val); } ListNode merge2Lists(ListNode list1, ListNode list2) { ListNode head = new ListNode(-1); ListNode current = head; while(list1!=null&&list2!=null) { if(list1.val lists) { if(lists==null||lists.size()==0) { return null; } if(lists.size()==1) { return lists.get(0); } int length = lists.size() ; int mid = (length - 1)/2 ; ListNode l1 = mergeKLists(lists.subList(0,mid + 1)) ; ListNode l2 = mergeKLists(lists.subList(mid + 1,length)) ; return merge2Lists(l1,l2) ; } }
到此,關(guān)于“Java怎么實(shí)現(xiàn)兩兩合并”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!