经典算法学习:逆向链表
发布时间
阅读量:
阅读量
链表作为数据结构中的一种关键线性结构,在各类考试及面试中频繁出现。其中,一个典型的题目为“给定链表的头节点,按照从尾到头的顺序依次输出每个节点的值”,这实际上就是对链表进行逆序处理。或许有人注意到,这一问题正是《剑指Offer》中所包含的一道经典题目。关于该问题的具体实现方式,我已经上传至 https://github.com/chenyufeng1991/ReverseLinkedList_Stack 。
解决该问题最常见的方式是借助栈结构。在逐个访问链表节点的过程中,将每个节点依次压入栈中。当所有节点完成入栈操作后,再从栈顶依次弹出元素,此时获得的节点顺序即为链表从尾到头的排列方式。在C++编程语言中,通过STL库实现栈结构非常便捷,相关代码示例如下:
/** * 输入一个链表的头结点,从尾到头打印链表的每一个节点
*/
#include <iostream>
#include <stdlib.h>
#include <stack>
using namespace std;
typedef struct ListNode{
int element;
struct ListNode *next;
}Nod
全部评论 (0)
还没有任何评论哟~
