- 链表反向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;
}