[剑指Offer] 从尾到头打印链表

来源:互联网 发布:linux创建新用户命令 编辑:程序博客网 时间:2024/05/29 12:12

时间限制:1秒空间限制:32768K

题目描述
输入一个链表,从尾到头打印链表每个节点的值。

输入描述:
输入为链表的表头

输出描述:
输出为需要打印的“新链表”的表头

解题思路:
1. 单向链表的反序遍历问题
2. 一种做法是先把链表反转,再正序遍历反转后的链表即可;
3. 一种做法是利用栈先进后出的特点,先正序遍历原链表,逐一将节点入栈;再逐个出栈各节点即可;
4. 上述两种方法时间复制度都是O(n);空间复杂度方面,后者引入了栈作为临时存储,所以会比前者多费一倍存储空间(忽略栈结构本身的空间占用);代码实现上,前者稍显复杂,后者较直观。
5. 注意链表为空等边界条件的判断。

代码:
从略。

原题链接:
http://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId=11156&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

0 0
原创粉丝点击