从尾到头打印链表
题目描述
输入一个链表,从尾到头打印链表每个节点的值。
思路:有两种解决方法,第一种,采用栈的方式,遍历链表,并将链表依次入栈,然后再出栈打印;第二种,递归。
第一种方法栈
public void printListFromTailToHead(ListNode listNode) {
Stack<Integer> stack=new Stack<Integer>();
while(listNode!=null){
stack.push(listNode.val);
listNode=listNode.next;
}
while(!stack.isEmpty()){
System.out.print(stack.pop()+" ");
}
}
第二种方法递归
public void printListFromTailToHead(ListNode listNode) {
if(listNode.next!=null){
print(listNode.next);
}
System.out.print(listNode.val+" ");
}