美文网首页
剑指offer 面试题5:从尾到头打印链表

剑指offer 面试题5:从尾到头打印链表

作者: qmss | 来源:发表于2016-05-30 23:37 被阅读0次

题目:
输入一个链表的头节点,从尾到头反过来打印出每个节点的值。

解法一:

struct ListNode {
    int                      num;
    ListNode*           next;
}

void printListReverse(ListNode* pHead) {
    stack<ListNode*> s;
    ListNode* pNode = pHead;
    while (pNode) {
        s.push(pNode);
        pNode = pNode->next;
    }
    while (!s.empty()) {
        pNode = s.top();
        cout << pNode->num << "    ";
        s.pop();
    }
    cout << endl;
}

解法二:

void printListReverseRecursive(ListNode* pHead) {
    if (pHead == 0) return;
    if (pHead) {
        printListReverseRecursive(pHead->next);
    }
    cout << pHead->num << "   ";
}

相关文章

网友评论

      本文标题:剑指offer 面试题5:从尾到头打印链表

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