剑指offer6:从尾到头打印链表

输入一个链表,按链表值从尾到头的顺序返回一个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);
        }


    }
}

 

上一篇:数据结构--单链表 C语言


下一篇:算法总结