思路
使用棧窥淆,先遍歷鏈表泌绣,把每個(gè)節(jié)點(diǎn)加入到Stack,然后再pop()依次打印出來(lái)汇陆。
public List<Node> reversePrintList(Node node){
List<Node> list=new ArrayList<>();
if(node==null)
return list;
list.add(node);
Stack<Node> stack=new Stack<>();
while(node!=null){
stack.push(node);
node=node.next;
}
while(!stack.isEmpty()){
list.add((stack.pop());
}
return list;
}
使用遞歸:
public List<Node> reversePrintList(Node node){
List<Node> list=new ArrayList<>();
if(node.next!=null){
reversePrintList(node.next)谒出;
}
list.add(node);
}