翻转链表
2018-01-26 00:45
288 查看
题目:
样例
给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null
挑战
在原地一次翻转完成
这个题目第一时间想到的是建立一个新的链表然后将原链表内容倒序存入,由于难度不大就不贴代码了
这个挑战一开始以为应该交换节点内存储内容,但实现起来太过困难,于是乎想到直接交换指针。
ListNode * reverse(ListNode * head) {
// write your code here
if(head == NULL)return 0;
ListNode *p = head;
ListNode *P1 = NULL;
ListNode *P2 = NULL;
while(p != NULL)
{
P1 = p->next;
p->next = P2;
P2 = p;
p = P1;
}
return P2;
}
样例
给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null
挑战
在原地一次翻转完成
这个题目第一时间想到的是建立一个新的链表然后将原链表内容倒序存入,由于难度不大就不贴代码了
这个挑战一开始以为应该交换节点内存储内容,但实现起来太过困难,于是乎想到直接交换指针。
ListNode * reverse(ListNode * head) {
// write your code here
if(head == NULL)return 0;
ListNode *p = head;
ListNode *P1 = NULL;
ListNode *P2 = NULL;
while(p != NULL)
{
P1 = p->next;
p->next = P2;
P2 = p;
p = P1;
}
return P2;
}
相关文章推荐
- 翻转链表
- 链表分段翻转
- 链表——翻转
- [LeetCode系列]翻转链表问题II
- LeetCode中 翻转链表II
- 单项链表翻转
- 35. 翻转链表(reverse-linked-list)(c++)----lintcode面试题之链表
- 链表相邻元素翻转,如a->b->c->d->e->f-g,翻转后变为:b->a->d->c->f->e->g
- 35. 翻转链表
- 用python介绍4种常用的单链表翻转的方法。
- 单链表翻转
- <LeetCode> 题36:翻转链表2(翻转指定部分)
- C++循环链表中进行元素的翻转
- [LeetCode] 25. Reverse Nodes in k-Group 每k个一组翻转链表
- 美团网2014校招研发笔试哈尔滨站--链表翻转
- Reverse Nodes in k-Group 指针操作 每k个翻转链表
- 链表的部分翻转
- Java 翻转单链表
- 链表:单链表翻转
- [LintCode]35.翻转链表 ***