关于反转
题目3描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
方法一:通过栈的先进后出特性实现元素的反转
import java.util.ArrayList;
import java.util.*;
public class Solution {
public ArrayList printListFromTailToHead(ListNode listNode) {
Stack stack=new Stack();
ArrayList list=new ArrayList();
while(listNode!=null){
stack.add(listNode.val);
listNode=listNode.next;
}
while(!stack.isEmpty()){
list.add(stack.pop());
}
return list;
}
}方法二:通过集合工具类Collections的反转方法reverse对集合直接进行反转即可。
注意:Collections.reverse(list)没有返回值,直接对list进行反转
import java.util.*;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list0=new ArrayList<Integer>();
while(listNode!=null){
list0.add(listNode.val);
listNode=listNode.next;
}
Collections.reverse(list0);
return list0;
}
}#21天打卡剑指offer##学习路径##Java#
阿里巴巴公司氛围 661人发布