#include "chapter2.hpp" #include /* Reverse Linked List */ void reverse_linkedlist(DopeLinkedList* ll){ DopeNode* node = ll->GetHead(); DopeNode* prev = nullptr; std::stack s; int iter_cnt = 0; s.push(node); while(node->GetNext() != NULL){ s.push(node); node = node->GetNext(); iter_cnt++; } s.push(node); prev = s.top(); s.pop(); ll->SetHead(prev); while(!s.empty()){ node = s.top(); s.pop(); prev->SetNext(node); prev = node; } node->SetNext(nullptr); }