C/C++教程

剑指offer(C++)-JZ6:从尾到头打印链表(数据结构-链表)

本文主要是介绍剑指offer(C++)-JZ6:从尾到头打印链表(数据结构-链表),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

题目描述:

输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。

如输入{1,2,3}的链表如下图:

返回一个数组为[3,2,1]

0 <= 链表长度 <= 10000

示例:

输入:

{1,2,3}

返回值:

[3,2,1]

解题思路:

本题考察数据结构链表的使用。可使用vector容器对链表数据进行存储,并用reverse翻转即可。

测试代码:

/**
*  struct ListNode {
*        int val;
*        struct ListNode *next;
*        ListNode(int x) :
*              val(x), next(NULL) {
*        }
*  };
*/
class Solution {
public:
    vector<int> printListFromTailToHead(ListNode* head) {
        vector<int> t;
        // 遍历链表
        while(head)
        {
            t.push_back(head->val);
            head=head->next;
        }
        // 翻转容器
        reverse(t.begin(), t.end());
        return t;
    }
};
这篇关于剑指offer(C++)-JZ6:从尾到头打印链表(数据结构-链表)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!