输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
1.用栈保存结果,再输出
2.三指针调转指针指向,再反向输出
3.能用栈解决,就能递归调用输出(但是链表长度过长,容易发生溢出)
附上递归代码:
package com.hnist.lzn.jinazhioffer;
public class Reverselist {
class ListNode{
int val;
ListNode pNext;
public ListNode(int val,ListNode node){
this.val = val;
}
}
void PrintListReverse(ListNode pHead){
if(pHead!=null){
if(pHead.pNext!=null){
PrintListReverse(pHead.pNext);
}
System.out.println(pHead.val);
}
}
}