题目描述
输入一个链表,从尾到头打印链表每个节点的值。
输入描述: 输入为链表的表头
输出描述: 输出为需要打印的“新链表”的表头
思路:
如果反转链表,会破坏链表原来的结果。所以利用数据结果栈。
import java.util.ArrayList;
import java.util.Stack;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> result=new ArrayList<Integer>();
if(listNode==null)
return result;
//遍历放入栈
Stack<Integer> stack=new Stack<>();
ListNode pNode=listNode;
do{
stack.add(pNode.val);
pNode=pNode.next;
}while(pNode!=null);
//遍历栈
while(!stack.isEmpty()){
result.add(stack.pop());
}
return result;
}
}
`
本文介绍了一种不改变原链表结构的情况下,实现从尾到头打印链表节点值的方法。通过使用栈来保存链表节点值,再依次弹出的方式达到逆序打印的效果。
183

被折叠的 条评论
为什么被折叠?



