題目1511:從尾到頭列印鍊錶
時間限制:1 秒
記憶體限制:128 兆
特殊判題:否
提交:1082
解決:350
題目描述:輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。
輸入:每個輸入檔案僅包含一組測試樣例。
每一組測試案例包含多行,每行乙個大於0的整數,代表乙個鍊錶的節點。第一行是鍊錶第乙個節點的值,依次類推。當輸入到-1時代表鍊錶輸入完畢。-1本身不屬於鍊錶。
輸出:對應每個測試案例,以從尾到頭的順序輸出鍊錶每個節點的值,每個值佔一行。
樣例輸入:
123樣例輸出:45-1
543【**】21
/*********************************
* 日期:2013-10-18
* 題號: 九度oj 題目1511:從尾到頭列印鍊錶
* 結果:ac
* 總結:
**********************************/
#include#include#include#includeusing namespace std;
typedef struct listnodelistnode;
//從尾到頭輸出鍊錶
int listreverse(listnode *head)
//輸出棧
while(!stack.empty())
return 0;
}int main()
//輸出
else*/
//從尾到頭輸出
listreverse(head);
//初始化
head->next = null;
p = head;
} }return 0;
}
【解析】
**二
/*---------------------------------------
* 日期:2015-07-20
* 題目: 7.從尾到頭列印鍊錶
* 結果:ac
* **:
* 部落格:
-----------------------------------------*/
#include #include #include using namespace std;
struct listnode
};class solution
private:
void helper(listnode* head,vector&result)//if
result.push_back(head->val);
}//if
}};int main()
};class solution //while
return result;
}};int main(){
solution s;
listnode* root = new listnode(1);
listnode* node1 = new listnode(2);
listnode* node2 = new listnode(3);
listnode* node3 = new listnode(4);
listnode* node4 = new listnode(5);
root->next = node1;
node1->next = node2;
node2->next = node3;
node3->next = node4;
vectorresult = s.printlistfromtailtohead(root);
for(int i = 0;i < result.size();++i){
cout<
劍指Offer 7 從尾到頭列印鍊錶
題目 輸入乙個鍊錶的頭節點,從尾到頭反過來返回每個節點的值 用陣列返回 示例 1 輸入 head 1,3,2 輸出 2,3,1 限制 0 鍊錶長度 10000 思路 借助棧來實現。棧的特點是後進先出,即最後壓入棧的元素最先彈出。考慮到棧的這一特點,使用棧將鍊錶元素順序倒置。從鍊錶的頭節點開始,依次將...
劍指Offer 從尾到頭列印鍊錶
題目1511 從尾到頭列印鍊錶 時間限制 1 秒 記憶體限制 128 兆 特殊判題 否 提交 1082 解決 350 題目描述 輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。輸入 每個輸入檔案僅包含一組測試樣例。每一組測試案例包含多行,每行乙個大於0的整數,代表乙個鍊錶的節點。第一行是鍊錶第乙個節點的...
劍指offer 從尾到頭列印鍊錶
輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。輸入描述 輸入為鍊錶的表頭 輸出描述 輸出為需要列印的 新鍊錶 的表頭 分析 題目本意是用的棧結構的先入後出,但是有了容器類的高階方法之後,使用棧的意義就不大了。c struct listnode class solution listnode p hea...