反转链表
来源:互联网 发布:外国人评价三体 知乎 编辑:程序博客网 时间:2024/06/05 06:59
第一种:
class Solution {public: ListNode* ReverseList(ListNode* pHead) { if(pHead==NULL) return NULL; ListNode* pNode=pHead; //当前指针 ListNode* pReverseHead=NULL; //新链表的头指针 ListNode* pPrev=NULL; //当前指针的前一个结点 while(pNode!=NULL) //当前结点不为空时才执行 { ListNode* pNext=pNode->next;//链断开之前一定要保存断开位置后边的结点 if(pNext==NULL)//当pNext为空时,说明当前结点为尾节点 pReverseHead=pNode; pNode->next=pPrev;//指针反转 pPrev=pNode; pNode=pNext; } return pReverseHead; }}
第二种:
class Solution {public: ListNode* ReverseList(ListNode* pHead)//如果链表为空或者链表中只有一个元素 { if(pHead==NULL||pHead->next==NULL) return pHead; //先反转后面的链表,走到链表的末端结点 ListNode* pReverseNode=ReverseList(pHead->next); //再将当前节点设置为后面节点的后续节点 pHead->next->next=pHead; pHead->next=NULL; return pReverseNode; }};
0 0
- 链表反转
- 反转链表
- 单向链表反转
- 链表反转:
- 链表的反转
- 链表反转
- 反转单向链表
- 链表反转
- 单向链表反转
- 单向链表反转
- 链表的反转
- 链表反转
- 反转链表
- 链表反转
- 链表反转
- 链表反转
- 链表反转
- 链表的反转
- SQLServer 和numa
- 腾讯云centos7 安装语言环境及java生产环境
- 题目1157:中位数
- jquery基础
- LeetCode 46. Permutations(同47,只是不包含重复数字)
- 反转链表
- Eclipse在高分屏下图标过小的解决方法
- NandFlash、NorFlash区别
- Dojo对AMD的简述
- HDU-2668(Daydream) 求最长的不重复子串
- python第三方库numpy的使用
- PHP程序开发之.csv文件导出方法
- 题目1158:买房子
- 湖大C语言程序设计3