leetcode: (206) Reverse Linked List
2015-09-08 22:44
597 查看
【Question】
Reverse a 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) {
ListNode *pre,*cur,*nex;
if (head==NULL) return head;
pre=head;
cur=head->next;
while(cur)
{
nex=cur->next;
cur->next=pre;
pre=cur;
cur=nex;
}
head->next=NULL;
head=pre;
return head;
}
};
Reverse a 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) {
ListNode *pre,*cur,*nex;
if (head==NULL) return head;
pre=head;
cur=head->next;
while(cur)
{
nex=cur->next;
cur->next=pre;
pre=cur;
cur=nex;
}
head->next=NULL;
head=pre;
return head;
}
};
相关文章推荐
- [C/C++]反转链表
- C#实现基于链表的内存记事本实例
- C语言实现带头结点的链表的创建、查找、插入、删除操作
- C++实现简单的学生管理系统
- Linux内核链表实现过程
- C++链表倒序实现方法
- C#通过链表实现队列的方法
- C#实现的简单链表类实例
- 找出链表倒数第n个节点元素的二个方法
- Java数据结构之简单链表的定义与实现方法示例
- C语言单循环链表的表示与实现实例详解
- C++实现的链表类实例
- PHP小教程之实现链表
- C语言双向链表的表示与实现实例详解
- C语言实现输出链表中倒数第k个节点
- C++语言实现线性表之链表实例
- STL list链表的用法详细解析
- C语言创建链表错误之通过指针参数申请动态内存实例分析
- php链表用法实例分析
- JavaScript中数据结构与算法(三):链表