剑指offer 16---单链表的逆置
来源:互联网 发布:汉字笔顺软件下载 编辑:程序博客网 时间:2024/06/16 21:40
单链表的逆置
非递归实现
#include <iostream>#include <Windows.h>using namespace std;struct ListNode{int _value;ListNode* _next;ListNode(const int& value):_value(value), _next(NULL){}};//单链表的逆置 非递归实现ListNode* ReverseList(ListNode* pHead){if (pHead == NULL){return NULL;}if (pHead->_next == NULL){return pHead;}ListNode* cur = pHead; //当前头结点ListNode* ReverseHead = NULL; //逆置后的头结点ListNode* prev = NULL;while (cur){ListNode* next = cur->_next;if (next == NULL){ReverseHead = cur;}cur->_next = prev; //逆转的过程,并且能将头结点的prev置为NULLprev = cur;cur = next;}return ReverseHead;}int main(){ListNode* pHead = new ListNode(1);ListNode* p = pHead;ListNode* q = pHead;for (int i = 2; i <= 10; ++i){ListNode* temp = new ListNode(i);p->_next = temp;p = temp;}cout << "原始链表: " << "";while (q){cout << q->_value << "->";q = q->_next;}cout << endl;ListNode* ppy = ReverseList(pHead);cout << "逆转后的链表: " << "";while (ppy != NULL){cout << ppy->_value << "->";ppy = ppy->_next;}cout << endl;system("pause");return 0;}
阅读全文
2 0
- 剑指offer 16---单链表的逆置
- 剑指offer:单链表的基本操作
- 【剑指offer】查找单链表的中间节点
- 牛客-剑指offer-单链表的反转
- 16链表的反转|剑指offer
- 剑指offer 面试题16 反转单链表
- 【16-20】剑指offer
- 剑指Offer-16
- 剑指offer题16
- 【剑指offer】字符串的排列
- 【剑指offer】字符串的组合
- 【剑指offer】扑克牌的顺子
- 剑指offer--字符串的排列
- 《剑指offer》字符串的排列
- 【剑指Offer】字符串的排列
- 剑指offer--字符串的排列
- 剑指offer:字符串的排列
- 剑指offer:字符串的排列
- 【MySQL】 创建表CREATE TABLE语法
- 如何使用Git上传项目代码到github——照做就好了
- 辅助工具 1
- nodejs 加载模块时,路径中的前缀“@”表示什么意思?
- 微信小程序配置顶部导航条标题颜色
- 剑指offer 16---单链表的逆置
- [LintCode]165.合并两个排序链表
- php json_encode的选项JSON_UNESCAPED_UNICODE
- IO流-第十七天
- 数据结构之链表
- {"JSON":"P"}
- 多线程之信号量Semaphore及原理
- 辅助工具 2
- 鼠标光标更改总结