题目:输入一个链表的头节点,从尾到头反过来打印出每个节点的值。
链表节点定义如下:
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
解法步骤如下:
遍历链表节点,每遍历一个节点,就将节点入栈,当栈不为空时,输出出栈元素。
public static void printListReversingly_Iterativel(ListNode pHead) {
Stack<ListNode> stack=new Stack<>();
while(pHead!=null) {
stack.push(pHead);
pHead=pHead.next;
}
while(!stack.isEmpty()) {
System.out.println(stack.pop().val);
}
}