美文网首页
从尾到头打印链表

从尾到头打印链表

作者: gaookey | 来源:发表于2021-10-28 17:08 被阅读0次

单向链表的节点定义

// 单向链表的节点定义
struct ListNode {
    int m_nValue;
    ListNode* m_pNext;
};

栈实现

// 栈实现
void PrintListReversingly_Iteratively(ListNode* pHead) {
    // #include <stack>
    std::stack<ListNode*>nodes;
    
    ListNode* pNode = pHead;
    while (pNode != nullptr) {
        nodes.push(pNode);
        pNode = pNode->m_pNext;
    }
    
    while (!nodes.empty()) {
        pNode = nodes.top();
        printf("%d\t", pNode->m_nValue);
        nodes.pop();
    }
}

递归实现

当链表非常长的时候,就会导致函数调用的层级很深,从而有可能导致函数调用栈溢出。

// 递归实现
void PrintListReversingly_Recursively(ListNode* pHead) {
    if (pHead != nullptr) {
        if (pHead->m_pNext != nullptr) {
            PrintListReversingly_Recursively(pHead->m_pNext);
        }
        printf("%d\t", pHead->m_nValue);
    }
}

摘抄资料:《剑指offer》

相关文章

  • JZ-003-从尾到头打印链表

    从尾到头打印链表 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。题目链接: 从尾到头打印...

  • 2.3.3 链表

    面试题6:从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值。

  • 06:从尾到头打印链表

    题目06:从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值。 思路 一. 栈 从头遍历链表,先访问的后...

  • 《剑指offer》— JavaScript(3)从尾到头打印链表

    从尾到头打印链表 题目描述 输入一个链表,从尾到头打印链表每个节点的值。 实现代码 相关知识 链表是一种物理存储单...

  • <<剑指offer>>--javascript(3)-从尾到头打

    从尾到头打印链表 题目描述 输入一个链表,从尾到头打印链表每个节点的值 代码如下 解题思路 链表是一种物理存储单元...

  • 从尾到头打印链表

    从尾到头打印链表 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 分析 listNode...

  • 从尾到头打印链表

    《剑指offer》面试题6:从尾到头打印链表 题目:输入一个链表的头节点,从尾到头反过来打印出每个节点的值。(链表...

  • 《剑指Offer》链表考点题解

    题目链接:从尾到头打印链表 题目简述: 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 题目思路 ...

  • 剑指Offer -- 从尾到头打印链表(C++)

    题目描述 输入一个链表,从尾到头打印链表每个节点的值。 方法1:注意是从尾到头进行打印,可利用vector的头插法...

  • Day3 剑指offer:逆序链表

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

网友评论

      本文标题:从尾到头打印链表

      本文链接:https://www.haomeiwen.com/subject/qdwwhltx.html