欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java編程實現(xiàn)從尾到頭打印鏈表代碼實例

 更新時間:2017年10月16日 09:43:18   作者:lilivian  
這篇文章主要介紹了Java編程實現(xiàn)從尾到頭打印鏈表代碼實例,小編覺得挺不錯的,這里分享給大家,供需要的朋友參考。

問題描述:輸入一個鏈表的頭結點,從尾巴到頭反過來打印出每個結點的值。

首先定義鏈表結點

public class ListNode {
    int val;
    ListNode next = null;
    ListNode(int val){
      this.val = val;
    }
  }

思路1:此題明顯想到是利用棧的思想,后進先出,先遍歷鏈表,依次將結點值進棧。最后在遍歷棧出棧。

public static Stack<Integer> printListReverse_Stack(ListNode listNode){
    Stack<Integer> stack = new Stack<Integer>();
    if(listNode != null){
      ListNode p = listNode;
      while(p != null){
        stack.add(p.val);
        p = p.next;
      }
    }
    return stack;
  }

思路2:直接遍歷鏈表,按照頭插法依次插入ArrayList即可

public static ArrayList<Integer> printListFromTailToHead(ListNode listNode){//表頭也存儲元素
    ArrayList<Integer> print = new ArrayList<Integer>();
    if(listNode == null){
      return print;
    }
    int add = 0;
    ListNode p = listNode;
    while(p != null){
      print.add(0, p.val);
      p = p.next;
    }
    return print;
  }

思路3:可以使用遞歸的思想(本質也是棧的思想)

public ArrayList<Integer> printListReversely_Recursively(ListNode listNode){
    ArrayList<Integer> print = new ArrayList<Integer>();
    if(listNode == null){
      return print;
    }
    print.addAll(printListReversely_Recursively(listNode.next));
    print.add(listNode.val);
    return print;
  }

總結

以上就是本文關于Java編程實現(xiàn)從尾到頭打印鏈表代碼實例的全部內容,感興趣的朋友可以參閱:用Java打印九九除法表代碼分析、Java程序打印奧林匹克標志方法詳解、Java編程用指定字符打印菱形實例以及本站其他相關專題,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對腳本之家網(wǎng)站的支持!

相關文章

  • 一文帶你徹底了解Java8中的Lambda,函數(shù)式接口和Stream

    一文帶你徹底了解Java8中的Lambda,函數(shù)式接口和Stream

    這篇文章主要為大家詳細介紹了解Java8中的Lambda,函數(shù)式接口和Stream的用法和原理,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-08-08
  • IDEA里找不到Maven的有效解決辦法(小白超詳細)

    IDEA里找不到Maven的有效解決辦法(小白超詳細)

    這篇文章主要給大家介紹了關于IDEA里找不到Maven的有效解決辦法,文中通過圖文將解決的辦法介紹的非常詳細,對大家的學習或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • 解決IDEA占用C盤空間過大的問題

    解決IDEA占用C盤空間過大的問題

    這篇文章主要介紹了解決IDEA占用C盤空間過大的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • MyBatis-Plus通過version機制實現(xiàn)樂觀鎖的思路

    MyBatis-Plus通過version機制實現(xiàn)樂觀鎖的思路

    version機制的核心思想就是,假設發(fā)生并發(fā)沖突的幾率很低,只有當更新數(shù)據(jù)的時候采取檢查是否有沖突,而判斷是否有沖突的依據(jù)就是version的值是否被改變了,這篇文章主要介紹了MyBatis-Plus通過version機制實現(xiàn)樂觀鎖的思路,需要的朋友可以參考下
    2021-09-09
  • Spring @Primary和@Qualifier注解原理解析

    Spring @Primary和@Qualifier注解原理解析

    這篇文章主要介紹了Spring @Primary和@Qualifier注解原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • JavaSE static final及abstract修飾符實例解析

    JavaSE static final及abstract修飾符實例解析

    這篇文章主要介紹了JavaSE static final及abstract修飾符實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • SpringBoot用JdbcTemplates訪問Mysql實例代碼

    SpringBoot用JdbcTemplates訪問Mysql實例代碼

    本篇文章主要介紹了SpringBoot用JdbcTemplates訪問Mysql實例代碼,非常具有實用價值,需要的朋友可以參考下
    2017-05-05
  • java并發(fā)編程專題(五)----詳解(JUC)ReentrantLock

    java并發(fā)編程專題(五)----詳解(JUC)ReentrantLock

    這篇文章主要介紹了java(JUC)ReentrantLock的的相關資料,文中講解非常詳細,實例代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • Spring事務的傳播行為解析

    Spring事務的傳播行為解析

    這篇文章主要介紹了Spring事務的傳播行為解析,事務傳播行為(propagation?behavior)指的就是當一個事務方法被另一個事務方法調用時,這個事務方法應該如何運行,需要的朋友可以參考下
    2023-10-10
  • Java如何處理圖片保存之后變紅色的問題

    Java如何處理圖片保存之后變紅色的問題

    這篇文章主要介紹了Java如何處理圖片保存之后變紅色的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論