Я просто храню все адреса в векторе. с конца вектора, делающего его следующий адрес к его предыдущему адресу. но он показывает ошибку сегментации. пожалуйста, дайте мне знать, почему я получаю ошибку сегментации. заранее спасибо
/*struct Node {
int data;
struct Node *next;
Node(int x) {
data = x;
next = NULL;
}
};
*/
// Should reverse list and return new head.
#include<bits/stdc++.h>
Node* reverseList(Node *head)
{
// Your code here
if(head==NULL) return head;
vector<Node*> k={head};
cout<<head->data;;
while(head->next!=NULL){
head=head->next;
k.push_back(head);
//cout<<" "<<head->data;
}
cout<<endl;
for(int i=k.size()-1;i>=0;i--){
if(i==0) k[i]->next=NULL;
Node* temp=k[i-1];
k[i]->next=temp;
//cout<<" "<<k[i]->data;
}
return head;
}