輸入一個鏈表,從尾到頭打印鏈表每一個節點的值。 java
輸入: 每一個輸入文件僅包含一組測試樣例。
每一組測試案例包含多行,每行一個大於0的整數,表明一個鏈表的節點。第一行是鏈表第一個節點的值,依次類推。當輸入到-1時表明鏈表輸入完畢。-1自己不屬於鏈表。 函數
對應每一個測試案例,以從尾到頭的順序輸出鏈表每一個節點的值,每一個值佔一行。 測試
樣例輸入: code
1 2 3 4 5 -1樣例輸出:
5 4 3 2 1方法一:
public class Main { Scanner s = new Scanner(System.in); public void add(){ int value = 0; if((value = s.nextInt()) != -1){ add(); } if(value != -1) System.out.println(value); } public static void main(String[] args) { CopyOfMain m = new CopyOfMain(); m.add(); } }此種方法當鏈表很是長的時候,就會致使函數調用的層級很深,從而有可能致使函數調用棧溢出
方法二: class
import java.util.Scanner; import java.util.Stack; public class Main { public static void main(String[] args) { Stack stack = new Stack(); int value = 0; Scanner s = new Scanner(System.in); while((value = s.nextInt()) != -1){ stack.push(value); } while(!stack.isEmpty()){ System.out.println(stack.pop()); } } }