leetcode刷题目 ,总结,记录,备忘206
2015-07-14 19:01
246 查看
leetcode206
Reverse Linked List
Reversea singly linked list
这个类型的题目我之前做过一次,那次我是用递归写的,但是这次我用递归写却超时了,,具体方法就是一头栽进链表最下面,然后返回,将每一层节点一个一个钩在后面即可。
由于超时我就老老实实的使用了栈来使用,还是比较简单,入栈再弹栈,不多说了。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* reverseList(ListNode* head) {
stack<ListNode*> sl;
if (head == NULL)
return NULL;
while (head)
{
sl.push(head);
head = head->next;
}
ListNode * temp = sl.top();
head = temp;
sl.pop();
while (!sl.empty())
{
temp->next = sl.top();
temp = temp->next;
sl.pop();
}
temp->next = NULL;
return head;
}
};
.
相关文章推荐
- Sails 自定义 model 方法
- genymotion无法访问本机环回地址127.0.0.1
- (转)android中利用 ViewPage 实现滑动屏
- 奇怪的错误与原因
- min-width,背景图像
- swift 2.0官方文档学习记录
- Dapper进行增删改查 z
- 阅读学术著作和做读书笔记的方法
- php获取指定日期所在星期的开始时间与结束时间
- solr同步mysql数据库
- 没有有效的 clr 头,无法反汇编
- 网络流 增广路 入门好文章(转)
- 实证型高水平英文论文基本结构与写作体会
- iOS之单例模式
- HDU-1031-Design T-Shirt
- LOG4J 2配置
- Bellman-Ford的队列优化
- ul导航居中
- 关于w3school的html5部分output 元素实例代码(点亲自试一试进去)的问题纠正
- Javascript