博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【链表】反转
阅读量:4520 次
发布时间:2019-06-08

本文共 919 字,大约阅读时间需要 3 分钟。

代码如下:

TestPointer.h

struct ListNode{    int m_nValue;    ListNode *m_pNext;};    class TestPointer{public:    ListNode* reverseListNode(ListNode *pHead); private:    ListNode* reverseCode(ListNode *pNode);};

TestPointer.cpp

ListNode* TestPointer::reverseListNode(ListNode *pHead){    if (pHead == nullptr)        return nullptr;    ListNode *pReverseHead = nullptr;    pReverseHead = reverseCode(pHead);    return pReverseHead;}ListNode * TestPointer::reverseCode(ListNode *pNode){    if (pNode->m_pNext == nullptr)        return pNode;    ListNode *pReverseHead= reverseCode(pNode->m_pNext);    ListNode *pCurNode= pReverseHead;    while(pCurNode->m_pNext != nullptr)    {        pCurNode = pCurNode->m_pNext;    }    pCurNode->m_pNext = pNode;    pNode->m_pNext = nullptr;    return pReverseHead; }

 

留意:在链表反转时,链表尾结点需要指向nullptr

评点:虽然递归实现的可读性好,但是效率比较差

扩展:可以考虑不用递归实现反转链表的功能

 

转载于:https://www.cnblogs.com/gwzz/p/9238475.html

你可能感兴趣的文章
BootstrapTable-导出数据
查看>>
Linux学习笔记 -- 系统目录结构
查看>>
[转载]ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件...
查看>>
将数组排序组成最小的整数
查看>>
sqlserver学习--1(登陆,时间函数,查看表结构,查看建表语句,IDENTITY() 函数,查询表名称,查询表结构)...
查看>>
MYSQL 日期函数
查看>>
Oracle触发器之替代触发器
查看>>
NodeJS基础教程之一
查看>>
你真的了解SDWebImage吗?
查看>>
BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块)
查看>>
C#嵌套类
查看>>
2017《面向对象程序设计》课程作业三
查看>>
[HDU] 1068 Girls and Boys(二分图最大匹配)
查看>>
ADO.NET类的模型关系图
查看>>
SRM 604 DIV2 250
查看>>
python中异常处理之esle,except,else
查看>>
看苹果官方API
查看>>
06-基础-系统指令-v-model-语法糖原理
查看>>
论文网站相关链接
查看>>
ipad4自动下载了ios8的安装包,好几个G啊,不想更新,怎么删了呢?
查看>>