2.從尾到頭打印鏈表數據

題目描述:輸入一個鏈表的頭結點,從尾到頭反過來打印出每個結點的值。
目的:體會遞歸和非遞歸算法
代碼:
package com.guanstudy;

import java.util.Stack;

/**

  • @date 2018年4月9日
  • @author junpu.guan
  • @Description: TODO

**/
public class Test {

public static void main(String[] args){
    ListNode node1=new ListNode();
    ListNode node2=new ListNode();
    ListNode node3=new ListNode();
    node1.setData(1);
    node2.setData(2);
    node3.setData(3);
    node1.setNext(node2);
    node2.setNext(node3);
    printListReverse(node1);
}
//遞歸
public static void printListReverseRecursive(ListNode head){
    if(null!=head){
        if(null!=head.getNext()){
            printListReverseRecursive(head.getNext());
        }   
    }
    System.out.println(head.getData());
}
//非遞歸
public static void printListReverse(ListNode head){
    Stack<ListNode> stack = new Stack<ListNode>();
    while(null!=head){
        stack.push(head);
        head = head.getNext();
    }
    while(!stack.isEmpty()){
        System.out.println(stack.pop().getData());
    }
}

}
·

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容