java實現從尾到頭列印連結串列每個節點的值
阿新 • • 發佈:2019-01-08
import java.util.ArrayList; class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public class Solution_lianbiao { ArrayList<Integer> arrayList = new ArrayList<Integer>(); public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { /* * Stack<Integer> stack=new Stack<Integer>(); * //佇列和棧,從尾到頭列印連結串列,離不開藉助棧 * //所以,先把連結串列裡的東西,都放到一個棧裡去,然後按順序把棧裡的東西pop出來 while(listNode!=null){ * stack.push(listNode.val); listNode=listNode.next; } * * ArrayList<Integer> list=new ArrayList<Integer>(); * while(!stack.isEmpty()){ list.add(stack.pop()); } return list; } */ if (listNode != null) { this.printListFromTailToHead(listNode.next); arrayList.add(listNode.val); } return arrayList; } public static void main(String[] args) { ListNode listNode = new ListNode(1); listNode.next = new ListNode(3); listNode.next.next = new ListNode(4); listNode.next.next.next = new ListNode(0); Solution_lianbiao s = new Solution_lianbiao(); System.out.println(s.printListFromTailToHead(listNode)); } }