剑指offer例题5—逆序输出链表
2012-12-29 22:40
453 查看
使用递归:
使用栈:
#include<iostream> using namespace std; struct ListNode { int value; ListNode *next; }; void Print(ListNode *list) { if(list!=NULL) { if(list->next!=NULL) Print(list->next); cout<<list->value<<endl; } } int main() { int n; while(cin>>n) { ListNode *head=(ListNode*)malloc(sizeof(ListNode*)); ListNode *list=head; while(n--) { int m;cin>>m; ListNode *newNode=(ListNode*)malloc(sizeof(ListNode*)); newNode->value=m; list->next=newNode; list=list->next; } list->next=NULL; Print(head->next); } return 0; }
使用栈:
#include<iostream> #include<stack> using namespace std; struct ListNode { int value; ListNode *next; }; void Print(ListNode *list) { stack<ListNode*>s; while(list!=NULL) { s.push(list); list=list->next; } while(!s.empty()) { cout<<s.top()->value<<endl; s.pop(); } } int main() { int n; while(cin>>n) { ListNode *head=(ListNode*)malloc(sizeof(ListNode*)); ListNode *list=head; while(n--) { int m;cin>>m; ListNode *newNode=(ListNode*)malloc(sizeof(ListNode*)); newNode->value=m; list->next=newNode; list=list->next; } list->next=NULL; Print(head->next); } return 0; }
相关文章推荐
- 剑指offer 输出链表/逆序输出
- 剑指offer:输入一个链表,输出该链表中倒数第k个结点。
- 剑指Offer面试题5——倒序输出一个链表
- 剑指offer--输入一个链表,输出该链表中倒数第k个结点。
- 剑指offer 单链表逆序
- 剑指offer --反向输出链表与输出链表的倒数第k个元素
- 剑指Offer 15 输入一个链表,输出该链表中倒数第k个结点
- 剑指offer 之 输出链表的倒数第K个结点
- 剑指offer:输出该链表中倒数第k个结点
- 剑指offer-第三章高质量的代码(输出该链表中倒数第K个节点)
- 剑指offer 输出链表倒数第k个结点
- 剑指offer--指定链表逆序打印
- 剑指offer 链表的逆序
- 剑指offer:输入一个链表,输出该链表中倒数第k个结点。
- 剑指offer--输入一个链表,反转链表后,输出链表的所有元素。
- 【剑指offer-解题系列(3)】从尾到头,反向输出链表
- 剑指offer 从尾到头输出单链表
- 【剑指offer】链表相关-逆向输出
- 剑指offer:输入一个链表,反转链表后,输出链表的所有元素。
- 6.剑指offer-输出两个链表的公共节点