#include <iostream>
#include <vector>
using namespace std;
struct ListNode{
int data;
struct ListNode* next;
ListNode(int val):data(val),next(NULL){}
};
void convertLLtoArray(ListNode* head, vector<int>&arr){
//if there is no element then return
if(head==NULL)return;
//crawling pointer
ListNode* crawl = head;
//iterate until list pointer become NULL
while(crawl!=NULL){
arr.push_back(crawl->data);
crawl = crawl->next;
}
return;
}
int main() {
ListNode* head;
ListNode* node1 = new ListNode(1);
ListNode* node2 = new ListNode(2);
ListNode* node3 = new ListNode(3);
head = node1;
node1->next = node2;
node2->next = node3;
vector<int>arr;
convertLLtoArray(head,arr);
for(int i=0;i<arr.size();i++){
cout<<arr[i]<<" ";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IExpc3ROb2RlewoJaW50IGRhdGE7CglzdHJ1Y3QgTGlzdE5vZGUqIG5leHQ7CglMaXN0Tm9kZShpbnQgdmFsKTpkYXRhKHZhbCksbmV4dChOVUxMKXt9Cn07CgoKdm9pZCBjb252ZXJ0TEx0b0FycmF5KExpc3ROb2RlKiBoZWFkLCB2ZWN0b3I8aW50PiZhcnIpewoJLy9pZiB0aGVyZSBpcyBubyBlbGVtZW50IHRoZW4gcmV0dXJuCglpZihoZWFkPT1OVUxMKXJldHVybjsKCS8vY3Jhd2xpbmcgcG9pbnRlcgoJTGlzdE5vZGUqIGNyYXdsID0gaGVhZDsKCS8vaXRlcmF0ZSB1bnRpbCBsaXN0IHBvaW50ZXIgYmVjb21lIE5VTEwKCXdoaWxlKGNyYXdsIT1OVUxMKXsKCQlhcnIucHVzaF9iYWNrKGNyYXdsLT5kYXRhKTsKCQljcmF3bCA9IGNyYXdsLT5uZXh0OwoJfQoJcmV0dXJuOwp9CgppbnQgbWFpbigpIHsKCUxpc3ROb2RlKiBoZWFkOwoJTGlzdE5vZGUqIG5vZGUxID0gbmV3IExpc3ROb2RlKDEpOwoJTGlzdE5vZGUqIG5vZGUyID0gbmV3IExpc3ROb2RlKDIpOwoJTGlzdE5vZGUqIG5vZGUzID0gbmV3IExpc3ROb2RlKDMpOwoJaGVhZCA9IG5vZGUxOwoJbm9kZTEtPm5leHQgPSBub2RlMjsKCW5vZGUyLT5uZXh0ID0gbm9kZTM7Cgl2ZWN0b3I8aW50PmFycjsKCWNvbnZlcnRMTHRvQXJyYXkoaGVhZCxhcnIpOwoJZm9yKGludCBpPTA7aTxhcnIuc2l6ZSgpO2krKyl7CgkJY291dDw8YXJyW2ldPDwiICI7Cgl9CglyZXR1cm4gMDsKfQ==