[剑指Offer] 15.反转链表
来源:互联网 发布:以色列人工智能武器 编辑:程序博客网 时间:2024/06/06 03:50
题目描述
输入一个链表,反转链表后,输出链表的所有元素。
【思路1】三个指针在链表上同时滑动。
1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 val(x), next(NULL) { 7 } 8 };*/ 9 class Solution {10 public:11 ListNode* ReverseList(ListNode* pHead) {12 ListNode* p = pHead;13 ListNode* q = NULL;14 ListNode* r = NULL;15 while(p != NULL){16 r = p->next;17 p->next = q;18 q = p;19 p = r;20 }21 return q;22 }23 };
【思路2】头插法
1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 val(x), next(NULL) { 7 } 8 };*/ 9 class Solution {10 public:11 ListNode* ReverseList(ListNode* pHead) {12 ListNode* p = pHead;13 ListNode* q = NULL;14 while(p != NULL) {15 ListNode* temp = p->next;16 p->next = q;17 q = p;18 p = temp;19 }20 return q;21 }22 };
阅读全文
0 0
- 剑指offer-15.反转链表
- 剑指Offer--15.反转链表
- [剑指Offer] 15.反转链表
- 剑指offer:反转链表
- 剑指offer--反转链表
- 剑指offer--反转链表
- 剑指Offer-反转链表
- 《剑指offer》反转链表
- 剑指 offer:反转链表
- 剑指offer-反转链表
- 剑指offer 反转链表
- 剑指offer-反转链表
- 剑指offer:反转链表
- [剑指offer]反转链表
- 《剑指offer》-反转链表
- 剑指Offer:反转链表
- 剑指offer----反转链表
- 剑指offer|反转链表
- [剑指Offer] 10.矩形覆盖
- [剑指Offer] 11.二进制中1的个数
- [剑指Offer] 12.数值的整数次方
- [剑指Offer] 13.调整数组顺序使奇数位于偶数前面
- [剑指Offer] 14.链表中倒数第k个结点
- [剑指Offer] 15.反转链表
- 简单总结一下Java和javascript 中对于 josn对象、字符串的处理。
- [剑指Offer] 16.合并两个排序链表
- [剑指Offer] 17.树的子结构
- [剑指Offer] 18.二叉树的镜像
- [算法] 二维数组(长宽相等)逆时针旋转90°算法
- [剑指Offer] 19.顺时针打印矩阵
- [剑指Offer] 20.包含min函数的栈
- [剑指Offer] 21.栈的压入、弹出序列