剑指offer|反转链表
来源:互联网 发布:mac os 10.13 发布 编辑:程序博客网 时间:2024/05/17 23:50
题目描述
输入一个链表,反转链表后,输出链表的所有元素。
思路:
用三个指针就可以搞定。第一个指针指向已经反转好的链表头,第二个指针指向未反转的链表头,第三个指针指向第二个指针的下一个元素。
反转一个元素的步骤:先把第三个指针指向第二个指针的下一元素,再把第二个指针指向的元素的下一个元素指向第一个指针。然后把第一个指针指向第二个指针的位置。在把第二个指针指向第三个指针的位置。
注意:
- 检查输入链表是否为空,为空则直接返回空指针。
- 如果输入链表只有一个元素,则直接返回头结点。
class Solution {public: ListNode* ReverseList(ListNode* pHead) { if(pHead == nullptr || pHead->next ==nullptr) return pHead; ListNode* pBehind=nullptr; ListNode* pMiddle=pHead; while(pMiddle != nullptr) { ListNode* pFront=pMiddle->next; pMiddle->next=pBehind; pBehind=pMiddle; pMiddle=pFront; } return pBehind; }};
0 0
- 剑指offer:反转链表
- 剑指offer--反转链表
- 剑指offer--反转链表
- 剑指Offer-反转链表
- 《剑指offer》反转链表
- 剑指 offer:反转链表
- 剑指offer-反转链表
- 剑指offer 反转链表
- 剑指offer-反转链表
- 剑指offer:反转链表
- [剑指offer]反转链表
- 《剑指offer》-反转链表
- 剑指Offer:反转链表
- 剑指offer----反转链表
- 剑指offer|反转链表
- 《剑指offer》反转链表
- 【剑指offer】反转链表
- 剑指offer-反转链表
- cordova android (一)
- Java进程间通信的方法
- viewpager与viewflipper详解以及横幅轮播页Banner
- uboot 分析及移植
- 头文件
- 剑指offer|反转链表
- c++之pair
- Tomcat配置文件,如何配置默认项目目录
- WSGI的理解(转载)
- 51nod 1005《《大数加法》》
- 栈的链式存储表示
- 在Quick-cocos2d-x中使用sqlite3数据库
- 网络原理,以及对VMware Workstation虚拟网络VMnet0、VMnet1、VMnet8的图解
- java生成随机字母