題目:輸入一個鏈表的頭結點,從尾到頭反過來打印出每個節點的值。
方法1:使用棧
/*
鏈表節點定義如下:
struct ListNode
{
int _data;
ListNode* _next;
};
*/
void PrintListTailToHead(ListNode* phead)
{
assert(phead);
stack<ListNode*> s;
ListNode* cur = phead;
while (cur)
{
s.push(cur);
cur = cur->_next;
}
while (!s.empty())
{
cout<<s.top()->_data<<" ";
s.pop();
}
cout<<endl;
}方法2:遞歸
void PrintListTailToHead(ListNode* phead)
{
if (phead == NULL)
{
return;
}
PrintListTailToHead(phead->_next);
cout<<phead->_data<<" ";
}免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。