劍指Offer
題目:輸入一個鏈表的頭節點,從尾到頭反過來打印出沒個節點的值。
解題思路
棧
利用棧的先進後出實現
遞歸
利用遞歸先遍歷後輸出
代碼實現
棧
public static void printListNode(ListNode listNode){
Stack<ListNode> stack = new Stack<>();
while (listNode != null) {
stack.push(listNode);
listNode = listNode.getListNode();
}
while (!stack.empty()) {
System.out.println(stack.pop().getData());
}
}
遞歸
public static void printListNode2(ListNode listNode){
if (listNode == null) {
return;
}
printListNode2(listNode.getListNode());
System.out.println(listNode.getData());
}