当前位置:   article > 正文

输入一个链表,按链表从尾到头的顺序返回一个ArrayList。_输入一个链表,按链表从尾到头的顺序返回一个arraylist

输入一个链表,按链表从尾到头的顺序返回一个arraylist

1、头插法

  1. /**
  2. * 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
  3. * @param listNode
  4. * @return
  5. */
  6. public static ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
  7. ArrayList<Integer> list = new ArrayList<>();
  8. ListNode tmp = listNode;
  9. while (tmp!=null){
  10. list.add(0,tmp.val);
  11. tmp = tmp.next;
  12. }
  13. return list;
  14. }

2、使用栈

  1. /**
  2. * 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。用栈的方式
  3. * @param list
  4. * @return
  5. */
  6. public static List<Integer> printListFromTailToHeadStack(ListNode listNode){
  7. Stack<Integer> stack = new Stack<>();
  8. ListNode tmp = listNode;
  9. List<Integer> tempList = new ArrayList<>();
  10. while (tmp!=null){
  11. stack.push(tmp.val);
  12. tmp = tmp.next;
  13. }
  14. while (!stack.isEmpty()){
  15. tempList.add(stack.pop());
  16. }
  17. return tempList;
  18. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/逻辑思维/article/detail/62895
推荐阅读
相关标签
  

闽ICP备14008679号