赞
踩
1、头插法
- /**
- * 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
- * @param listNode
- * @return
- */
- public static ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
- ArrayList<Integer> list = new ArrayList<>();
- ListNode tmp = listNode;
- while (tmp!=null){
- list.add(0,tmp.val);
- tmp = tmp.next;
- }
- return list;
- }
2、使用栈
- /**
- * 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。用栈的方式
- * @param list
- * @return
- */
- public static List<Integer> printListFromTailToHeadStack(ListNode listNode){
- Stack<Integer> stack = new Stack<>();
- ListNode tmp = listNode;
- List<Integer> tempList = new ArrayList<>();
- while (tmp!=null){
- stack.push(tmp.val);
- tmp = tmp.next;
- }
- while (!stack.isEmpty()){
- tempList.add(stack.pop());
- }
- return tempList;
- }
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。