输入一个链表,反转链表后,输出链表的所有元素。
2016-10-13 10:37
323 查看
// test14.cpp : 定义控制台应用程序的入口点。
//
//
#include "stdafx.h" #include<iostream> #include<fstream> #include<string> #include<cctype> #include <vector> #include<exception> #include <initializer_list> #include<stack> using namespace std; struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; class Solution { public: ListNode* ReverseList(ListNode* pHead) { //把链表中的元素首先存入一个栈中 //从栈中一个一个地读出数据插入rlist中 ListNode *rlist=pHead; stack<int> temp; while (rlist !=NULL) { temp.push((*rlist).val); rlist = rlist->next; } rlist = pHead; while (rlist !=NULL) { if(!temp.empty()) { (*rlist).val = temp.top(); temp.pop(); rlist=(*rlist).next;//一开始这个地方忘了更新rlist了,结果一直出现栈溢出这个问题 } } return pHead; } }; int main() { int num; vector<int> vec; Solution so; ListNode first(1); ListNode second(2); ListNode third(3); ListNode four(4); ListNode *head=&first; first.next = &second; second.next = &third; third.next = &four; ListNode *result= so.ReverseList(head); while (result !=NULL) { cout << (*result).val<<" "; result = (*result).next; } cout << endl; return 0; }
相关文章推荐
- 输入一个链表,反转链表后,输出链表的所有元素。
- java 输入一个链表,反转链表后,输出链表的所有元素。
- 输入一个链表,反转链表后,输出链表的所有元素。
- 剑指offer:输入一个链表,反转链表后,输出链表的所有元素。
- 输入一个链表,反转链表后,输出链表的所有元素。
- 剑指offer--输入一个链表,反转链表后,输出链表的所有元素。
- 输入一个链表,反转链表后,输出链表的所有元素。
- 输入一个链表,反转链表后,输出链表的所有元素。
- 输入一个链表,反转链表后,输出链表的所有元素。
- 输入一个链表,反转链表后,输出链表的所有元素。
- 输入一个链表,反转链表后,输出链表的所有元素。
- java实现输入一个链表,反转链表后,输出链表的所有元素。
- 输入一个链表,反转链表后,输出链表的所有元素
- 输入一个链表,反转链表后,输出链表的所有元素。就地逆转,头插法
- 输入一个链表,反转链表后,输出链表的所有元素。
- 反转链表-输入一个链表,反转链表后,输出链表的所有元素。
- 输入一个数组长度,动态创建数组,所有元素随机生成,输出元素中最大值
- // 1、输入一个数组长度,动态创建数组,所有元素随机生成,输出元素中的最大值
- 输入一个数组长度,动态创建数组,所有元素随机生成,输出元素中的最大值
- 3.输入一个数组长度,动态创建数组,所有元素随机生成,输出元素中的最大值