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

Java鏈表的天然遞歸結構性質圖文與實例分析

 更新時間:2020年03月19日 08:12:03   作者:WFaceBoss  
這篇文章主要介紹了Java鏈表的天然遞歸結構性質,結合圖文與實例形式分析了java鏈表中遞歸操作的原理、實現(xiàn)技巧與相關注意事項,需要的朋友可以參考下

本文實例分析了Java鏈表的天然遞歸結構性質。分享給大家供大家參考,具體如下:

有關鏈表,參考之前的文章學習

要求:使用遞歸刪除鏈表中指定的所有元素值。

一、圖文分析

假設有這么一個鏈表,如下圖:

分析:基于鏈表的宏觀語意(遞歸是問題更小的子過程)進行分析

我們可以把上述鏈表看成是一個頭結點后面掛接了一個更小的鏈表組成,如下圖:

此時我們可以把鏈表概括成如下的鏈表結構:

1、在一個頭結點+更小的鏈表基礎上,從更小的鏈表中刪除指定元素,得到一個全新的鏈表--圖中紅絲的方塊。

此時我們需要關心如何根據(jù)紅絲的方塊代碼的鏈表構建出原問題的解-------也就是包括了原來頭結點(頭結點e)在內的情況。

2.判斷頭結點e是否是需要被刪除的元素值,若頭結點是不需要被刪除的,此時的鏈表結構為頭結點e+紅色方塊,否則為紅色方塊,相關結構圖如下:

 

 

 二、代碼實現(xiàn)

package LeetCodeSubject;
/*
 * 使用虛擬頭節(jié)點
 * */

class Solution3 {

  public ListNode removeElements(ListNode head, int val) {

    if (head == null)
      return null;

    ListNode res = removeElements(head.next, val);

    if (head.val == val)
      return res;
    else {
      head.next = res;
      return head;
    }
  }


  public static void main(String[] args) {
    int[] nums = {1, 2, 6, 3, 4, 5, 6};

    ListNode head = new ListNode(nums);

    System.out.println(head);

    ListNode res = (new Solution()).removeElements(head, 6);
    System.out.println(res);

  }
}

結果如下:

更多關于java算法相關內容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設計有所幫助。

相關文章

  • 基于mybatis-plus 時間字段比較

    基于mybatis-plus 時間字段比較

    這篇文章主要介紹了mybatis-plus 時間字段的比較,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 使用EasyPOI實現(xiàn)多sheet動態(tài)列導出

    使用EasyPOI實現(xiàn)多sheet動態(tài)列導出

    這篇文章主要為大家詳細介紹了如何使用EasyPOI根據(jù)指定時間范圍創(chuàng)建動態(tài)列,以及如何將數(shù)據(jù)組織成符合要求的格式并導出,感興趣的可以了解下
    2025-03-03
  • Spring MVC-@RequestMapping注解詳解

    Spring MVC-@RequestMapping注解詳解

    @RequestMapping注解的作用,就是將請求和處理請求的控制器方法關聯(lián)起來,建立映射關系。這篇文章主要給大家介紹了關于SpringMVC中@RequestMapping注解用法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • xxl-job 帶參數(shù)執(zhí)行和高可用部署方法

    xxl-job 帶參數(shù)執(zhí)行和高可用部署方法

    這篇文章主要介紹了xxl-job 帶參數(shù)執(zhí)行和高可用部署,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • JavaSE實現(xiàn)三子棋游戲

    JavaSE實現(xiàn)三子棋游戲

    這篇文章主要為大家詳細介紹了JavaSE實現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 使用IDEA直接連接MySQL數(shù)據(jù)庫的方法

    使用IDEA直接連接MySQL數(shù)據(jù)庫的方法

    這篇文章主要介紹了如何使用IDEA直接連接MySQL數(shù)據(jù)庫,首先需要新建一個空項目,第一次連接 需要先下載驅動,文中給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • flatten-maven-plugin使用教程

    flatten-maven-plugin使用教程

    這篇文章主要介紹了flatten-maven-plugin使用,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • Spring中IOC和AOP的核心組成架構詳解

    Spring中IOC和AOP的核心組成架構詳解

    這篇文章主要介紹了Spring中IOC和AOP的核心組成架構詳解,本文是對Spring的2大核心功能——IoC和AOP 的總結提煉,并增加了環(huán)境profile和條件化bean的內容,篇幅較短,更像是一個大綱,或者思維導圖,需要的朋友可以參考下
    2023-08-08
  • 解決運行jar包出錯:ClassNotFoundException問題

    解決運行jar包出錯:ClassNotFoundException問題

    這篇文章主要介紹了解決運行jar包出錯:ClassNotFoundException問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • jQuery 動畫效果代碼分享

    jQuery 動畫效果代碼分享

    本文給大家分享一段關于jquery實現(xiàn)的動畫效果,代碼簡單易懂,非常不錯,感興趣的朋友參考下
    2016-11-11

最新評論

黎川县| 辉县市| 喀什市| 大厂| 苏尼特右旗| 柘城县| 三都| 建德市| 新郑市| 武隆县| 清丰县| 盐城市| 苗栗市| 镇雄县| 颍上县| 漳州市| 桐城市| 蒲城县| 寿光市| 鸡西市| 聂拉木县| 电白县| 吉林市| 太白县| 宜阳县| 巴林右旗| 清镇市| 榆树市| 连平县| 济南市| 小金县| 永济市| 湟中县| 黄梅县| 荔波县| 江山市| 新竹市| 通化市| 分宜县| 台北市| 卢龙县|