题解 | #从尾到头打印链表#

从尾到头打印链表

http://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035

  • 链表反向vector输出
  • 思路: 将链表的数据存储于vector,再对vector进行反向排序
#include "createLinkedList.h"
#include <iostream>
#include <vector>  
#include <algorithm>

class OutputReverseVectorClass {
public:
    std::vector<int> OutputReverseVector(ListNode *pHead);
};

/*
* 链表反向vector输出
* 思路: 将链表的数据存储于vector,再对vector进行反向排序
*/
std::vector<int> OutputReverseVectorClass::OutputReverseVector(ListNode *pHead)
{
    std::vector<int> reverseVec;
    if (pHead == nullptr) {
        return reverseVec;
    }

    while (pHead != nullptr) {
        reverseVec.push_back(pHead->data);
        pHead = pHead->next;
    }
    reverse(reverseVec.begin(), reverseVec.end());
    return reverseVec;
}

int main()
{
    CreateNodeClass createNodeClass;
    ListNode *createListHeadNode = createNodeClass.CreateList();
    createNodeClass.ShowList(createListHeadNode);

    OutputReverseVectorClass outputReverseVectorClass;
    std::vector<int> reverseVec = outputReverseVectorClass.OutputReverseVector(createListHeadNode);
    for(auto iter : reverseVec) {
        std::cout<<" "<<iter;
    }
    std::cout<<std::endl;
    return 1;

}
全部评论

相关推荐

星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务