lintcode翻转链表
2017-08-28 17:33
246 查看
翻转链表
描述
笔记
数据
评测
翻转一个链表
您在真实的面试中是否遇到过这个题?
Yes
样例
给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null
挑战
标签
相关题目
分析:使用额外两指针方法,只用遍历一次链表即可,且额外控件也需要较少,下面上代码
class Solution {
public:
/*
* @param head: n
* @return: The new head of reversed linked list.
*/
public:
ListNode * reverse(ListNode * head) {
// write your code here
if(head==NULL)//不往下走节省时间
return NULL;
ListNode *pre=NULL;
ListNode *Next=NULL;
while(head)
{
Next=head->next;//将当前节点后的结点保存下来
head->next=pre;//连接之前已反转结点
pre=head;//把连接好的节点头部赋给pre
head=Next;//把保存的结点赋给head以便下一次反转
}
return pre;
}
};
Accepted
总耗时: 932 ms
100% 数据通过测试.
还没解决的相关题目
42
%166. 链表倒数第n个节点容易30
%174. 删除链表中倒数第n个节点容易31
%96. 链表划分容易39
%165. 合并两个排序链表容易39
%112. 删除排序链表中的重复元素容易
太牛了,把AC的喜悦分享给你的朋友吧!
笔记
数据
评测
翻转一个链表
您在真实的面试中是否遇到过这个题?
Yes
样例
给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null
挑战
标签
相关题目
分析:使用额外两指针方法,只用遍历一次链表即可,且额外控件也需要较少,下面上代码
class Solution {
public:
/*
* @param head: n
* @return: The new head of reversed linked list.
*/
public:
ListNode * reverse(ListNode * head) {
// write your code here
if(head==NULL)//不往下走节省时间
return NULL;
ListNode *pre=NULL;
ListNode *Next=NULL;
while(head)
{
Next=head->next;//将当前节点后的结点保存下来
head->next=pre;//连接之前已反转结点
pre=head;//把连接好的节点头部赋给pre
head=Next;//把保存的结点赋给head以便下一次反转
}
return pre;
}
};
总耗时: 932 ms
100% 数据通过测试.
还没解决的相关题目
42
%166. 链表倒数第n个节点容易30
%174. 删除链表中倒数第n个节点容易31
%96. 链表划分容易39
%165. 合并两个排序链表容易39
%112. 删除排序链表中的重复元素容易
太牛了,把AC的喜悦分享给你的朋友吧!
相关文章推荐
- lintcode-36-翻转链表 II
- lintcode——翻转链表
- Lintcode翻转链表
- LintCode之35 翻转链表 标签: 链表
- LintCode 35 翻转链表
- Lintcode:翻转链表
- LintCode 36 翻转链表 II
- LintCode(Flatten Binary Tree to Linked List)翻转二叉树为链表 的变体
- LintCode-翻转一个链表
- lintcode-450-K组翻转链表
- lintcode--翻转链表
- LintCode:翻转链表 II
- LintCode:K组翻转链表
- LintCode-35.翻转链表
- lintcode 容易题:Reverse Linked List 翻转链表
- LintCode——删除链表中的元素
- LintCode复制带随机指针的链表
- lintcode 容易题:nth to Last Node In List 链表倒数第n个节点
- LintCode-372.在O(1)时间复杂度删除链表节点
- 剑指offer(LintCode):112. 删除链表中重复节点I VS 113.删除链表中重复节点II