博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《剑指offer》面试题16—反转链表
阅读量:4636 次
发布时间:2019-06-09

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

Node* p1  p2  p3

思路:开始时,p1为NULL,p2=phead,p3=p2—>next。使p2—>next = p1,然后使p1=p2,p2=p3。如果只有1个结点则此时p2为NULL,结束循环;否则继续执行,直到p2为NULL。

注意:注意代码鲁棒性!判断头结点为NULL;如果只有一个结点。

1 #include 
2 using namespace std; 3 4 5 class Node 6 { 7 public: 8 Node(int v, Node* n) 9 {val = v;10 next = n;}11 ~Node(){}12 int val;13 Node* next;14 };15 Node * phead = NULL;16 Node * pReverseHead = NULL;17 18 void AddNode(int val)19 {20 Node* pnode = new Node(val,NULL);21 //Node one_node(val,NULL); 这里有大bug!如果这样写,在函数退出时自动调用析构函数!链表就乱了!22 if(phead == NULL)23 {24 phead = pnode;25 }26 else27 {28 Node* p = phead;29 while(p->next != NULL)30 {31 p = p->next;32 }33 p->next = pnode;34 }35 }36 void PrintLink()37 {38 Node* p = phead;39 while(p != NULL)40 {41 int temp = p->val;42 cout<
<
next;44 }45 }46 void PrintLinkReverse()47 {48 Node* p = pReverseHead;49 while(p != NULL)50 {51 int temp = p->val;52 cout<
<
next;54 }55 }56 Node* ReverseLink()57 {58 Node* pPrev = NULL;59 Node* pNode = phead;60 Node* pNext;61 if(phead == NULL) return NULL;62 while(pNode != NULL)63 {64 pNext = pNode->next;65 if(pNext == NULL)66 {67 pReverseHead = pNode;68 }69 70 pNode->next = pPrev;71 pPrev = pNode;72 pNode = pNext;73 74 }75 return pReverseHead;76 }77 int main()78 {79 int val;80 cin>>val;81 while(val != 0)82 {83 AddNode(val);84 cin>>val;85 }86 PrintLink();87 Node* pReverseHead = ReverseLink();88 cout<<"Reverse:"<
View Code

 

转载于:https://www.cnblogs.com/CnZyy/p/3308090.html

你可能感兴趣的文章
H5学习之旅-H5列表(8)
查看>>
华为机试题【10】-求数字基root
查看>>
ISLR—第二章 Statistical Learning
查看>>
软件与程序
查看>>
tiny4412u-boot烧写及根文件系统制作(不进入终端问题)
查看>>
谁说菜鸟不会数据分析--读书笔记
查看>>
nodejs里的module.exports和exports
查看>>
搭建wordpress开发环境
查看>>
CentOS 6.9下的Setup工具(用于管理服务/防火墙/网络配置/验证服务)
查看>>
Mac 10.12彻底关闭Dashboard
查看>>
mybatis大于小于等于
查看>>
mac下安装前端模板引擎Jinja2
查看>>
python 字典
查看>>
How to: Build a Client Application
查看>>
C#将dll打包到程序中
查看>>
AJAX只支持字符类数据返回,不支持文件下载
查看>>
win10使用Composer-Setup安装Composer以及使用Composer安装Yii2最新版
查看>>
Python的装饰器
查看>>
人格差异
查看>>
安装 VMware Tools
查看>>