题目:输入一个链表,从尾到头打印链表每个节点的值。
解答:
public static void main(String[] args) {
ListNode node1 = new ListNode(5);
ListNode node2 = new ListNode(6);
ListNode node3 = new ListNode(7);
ListNode node4 = new ListNode(8);
node1.next = node2;
node2.next = node3;
node3.next = node4;
System.out.println(printLink(node1));
}
private static List<Integer> printLink(ListNode listNode){
List<Integer> list = new ArrayList<>();
if(null == listNode){
return list;
}
Stack<ListNode> stack = new Stack<>();
while (null != listNode){
stack.push(listNode);
listNode = listNode.next;
}
while (!stack.isEmpty()){
list.add(stack.pop().getValue());
}
return list;
}
以上输出方式属于个人思路,如果有更好的方式,欢迎指点!