您好,登錄后才能下訂單哦!
單鏈表面試題幾乎是面試的必考之題;
對于單鏈表從頭到尾打印與單鏈表的逆置不是一回事。
單鏈表的從頭到尾打印是打印出鏈表的數據。(即數據是從尾向前輸出);
一、單鏈表從頭到尾打印:
/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * } * }; */ class Solution { public: vector<int> printListFromTailToHead(struct ListNode* head) { vector<int> result; stack< ListNode*> node; struct ListNode* newhead=head; while(newhead!=NULL) { node.push(newhead); newhead=newhead->next; } while(!node.empty()) { newhead=node.top(); result.push_back(newhead->val); node.pop(); } return result; } };
二、單鏈表的逆置
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* ReverseList(ListNode* pHead) { if(pHead==NULL) return NULL; ListNode* cur=pHead; ListNode* newHead=NULL; while(cur) { ListNode* tmp=cur; cur=cur->next; tmp->next=newHead; newHead=tmp; } return newHead; } };
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。