最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java編程題之合并兩個排序的鏈表

 更新時間:2019年03月03日 11:19:50   作者:hasp_Jason  
這篇文章主要為大家詳細介紹了java編程題之合并兩個排序的鏈表,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java合并兩個排序的鏈表,供大家參考,具體內(nèi)容如下

/**
 * 
 * 劍指offer編程題(JAVA實現(xiàn))——第16題:合并兩個排序的鏈表
 * 
 * 輸入兩個單調(diào)遞增的鏈表,輸出兩個鏈表合成后的鏈表, 當然我們需要合成后的鏈表滿足單調(diào)不減規(guī)則。
 * 
 */
public class Test16 {
 public static ListNode Merge(ListNode list1, ListNode list2) {
 if (list1 == null) { // 首先判斷是否有鏈表為空
 return list2;
 } else if (list2 == null) {
 return list1;
 }
 ListNode end1 = list1;
 ListNode end2 = list2;
 ListNode tmp; //end1和end2分別代表兩個鏈表,tmp用于中間合成鏈表
 
 if (end1.val > end2.val) {//把首節(jié)點小的鏈表看作end1
 tmp = end1;
 end1 = end2;
 end2 = tmp;
 } else {

 }
 ListNode newNode = end1;//用于最終返回的鏈表首節(jié)點

 while (end1.next != null && end2.next != null) { //將鏈表2中的元素插入鏈表1中合適的位置
 if (end1.val <= end2.val && end1.next.val >= end2.val) {
 tmp = end2.next;
 end2.next = end1.next;
 end1.next = end2;
 end1 = end2;
 end2 = tmp;
 } else {
 end1 = end1.next;
 }
 }
 
 if (end1.next == null) {//如果鏈表1到尾節(jié)點了則直接連接剩下的鏈表2中的首節(jié)點
 end1.next = end2;
 return newNode;
 } else {
 if (end1.next != null && end2.next == null) {//如果鏈表2到尾節(jié)點了則將鏈表2中所剩下的最后一個節(jié)點插入鏈表1
 while (end2 != null) {
  if (end1.val <= end2.val && end1.next.val >= end2.val) {
  end2.next = end1.next;
  end1.next = end2;
  break;
  } else {
  end1 = end1.next;
  if (end1.next == null) {//鏈表2最后的節(jié)點最大
  end1.next = end2;
  break;
  }
  }
 }
 }
 return newNode;
 }
 }

 public static void main(String[] args) {
 ListNode list1 = new ListNode(1);
 list1.next = new ListNode(3);
 list1.next.next = new ListNode(5);
 ListNode list2 = new ListNode(2);
 list2.next = new ListNode(4);
 list2.next.next = new ListNode(6);
 System.out.println(Merge(list2, list1));
 }

 // 鏈表
 public static class ListNode {
 int val;
 ListNode next = null;

 ListNode(int val) {
 this.val = val;
 }
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 一文吃透Spring集成MyBatis

    一文吃透Spring集成MyBatis

    spring能集成很多的框架,是spring一個優(yōu)勢功能,通過集成功能,讓開發(fā)人員使用其他框架更方便,本文將給大家詳細介紹Spring如何集成MyBatis,,需要的朋友可以參考下
    2023-05-05
  • Java?對象深拷貝工具類的實現(xiàn)

    Java?對象深拷貝工具類的實現(xiàn)

    本文主要介紹了Java?對象深拷貝工具類的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • Spring Boot全局統(tǒng)一異常處理器

    Spring Boot全局統(tǒng)一異常處理器

    軟件開發(fā)springboot項目過程中,不僅有大量的冗余代碼,而且還影響代碼的可讀性.這樣就需要定義個全局統(tǒng)一異常處理器,以便業(yè)務層再也不必處理異常.文中有非常詳細的代碼示例,需要的朋友可以參考下
    2021-05-05
  • Java中使用JWT生成Token進行接口鑒權(quán)實現(xiàn)方法

    Java中使用JWT生成Token進行接口鑒權(quán)實現(xiàn)方法

    這篇文章主要介紹了Java中使用JWT生成Token進行接口鑒權(quán)實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Spring Boot + Vue 前后端分離開發(fā)之前端網(wǎng)絡請求封裝與配置

    Spring Boot + Vue 前后端分離開發(fā)之前端網(wǎng)絡請求封裝與配置

    這篇文章主要介紹了Spring Boot + Vue 前后端分離開發(fā)之前端網(wǎng)絡請求封裝與配置方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-05-05
  • Java簡單使用redis-zset實現(xiàn)排行榜

    Java簡單使用redis-zset實現(xiàn)排行榜

    這篇文章主要介紹了Java簡單使用redis-zset實現(xiàn)排行榜,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Spring實戰(zhàn)之ServletContextResource訪問資源文件示例

    Spring實戰(zhàn)之ServletContextResource訪問資源文件示例

    這篇文章主要介紹了Spring實戰(zhàn)之ServletContextResource訪問資源文件,結(jié)合實例形式分析了spring使用ServletContextResource讀取與遍歷資源文件相關操作技巧,需要的朋友可以參考下
    2019-12-12
  • Java 類與對象重難點詳解

    Java 類與對象重難點詳解

    類(class)和對象(object)是兩種以計算機為載體的計算機語言的合稱。對象是對客觀事物的抽象,類是對對象的抽象。類是一種抽象的數(shù)據(jù)類型
    2021-11-11
  • MyBatis-Plus自動填充功能失效導致的原因及解決

    MyBatis-Plus自動填充功能失效導致的原因及解決

    這篇文章主要介紹了MyBatis-Plus自動填充功能失效導致的原因及解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • SpringMVC異常處理的三種方式小結(jié)

    SpringMVC異常處理的三種方式小結(jié)

    本文主要介紹了SpringMVC異常處理的三種方式小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-09-09

最新評論

鄂托克旗| 辛集市| 左贡县| 清远市| 新蔡县| 新绛县| 科技| 安宁市| 龙海市| 鄂温| 泗阳县| 金坛市| 腾冲县| 临汾市| 偃师市| 八宿县| 青海省| 鹤岗市| 益阳市| 广宁县| 禄劝| 阜宁县| 湖北省| 思茅市| 盐边县| 康定县| 县级市| 晴隆县| 云龙县| 日喀则市| 鄂托克旗| 房产| 明水县| 甘南县| 买车| 六枝特区| 邻水| 徐闻县| 嘉鱼县| 婺源县| 吴江市|