博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
输入一个链表,反转链表后,输出链表的所有元素。
阅读量:5332 次
发布时间:2019-06-14

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

该题目来自剑指offer的面试题16.

输入一个链表,反转链表后,输出链表的所有元素。

思路如下:定义3个指针,分别指向当前结点,头一个结点,下一个结点,然后通过就地逆置即可。

代码就不太解释了。不理解的,可以参考剑指offer的书,上面写得很详细。

#include 
#include
typedef struct Node{ int num; struct Node *next;}NodeHead,*Nodes;void DeleteNode(Nodes head){ if(head==NULL || head->next==NULL) return; Nodes pNode,pNext,pPre; //pPre = head; pNode = head->next; pPre = head; pPre->next = NULL; while(pNode->next!=NULL){ pNext = pNode->next; pNode->next = pPre; pPre = pNode; pNode = pNext; } pNode->next = pPre; int i ; for(i = 0 ; i < 8 ;i++) { printf("%d",pNode->num); pNode = pNode->next; }}void main(){ Nodes head = NULL; head = (Nodes)malloc(sizeof(NodeHead)); head->next = NULL; int i ; for(i = 8 ;i >= 1 ; i--){ Nodes node = (Nodes)malloc(sizeof(NodeHead)); node->num = i; node->next = head->next; head->next = node; } DeleteNode(head); /** Nodes tmp2; tmp2 = head->next; for(i = 0 ; i <3 ; i++){ printf("%d",tmp2->num); tmp2 = tmp2->next; } **/ return 0;}

 

转载于:https://www.cnblogs.com/CloudStrife/p/7275807.html

你可能感兴趣的文章
Git之初体验 持续更新
查看>>
随手练——HDU 5015 矩阵快速幂
查看>>
Maven之setting.xml配置文件详解
查看>>
SDK目录结构
查看>>
malloc() & free()
查看>>
HDU 2063 过山车
查看>>
高精度1--加法
查看>>
String比较
查看>>
Django之Models
查看>>
CSS 透明度级别 及 背景透明
查看>>
Linux 的 date 日期的使用
查看>>
PHP zip压缩文件及解压
查看>>
SOAP web service用AFNetWorking实现请求
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
Windows Phone开发(5):室内装修 转:http://blog.csdn.net/tcjiaan/article/details/7269014
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>
关于这次软件以及pda终端的培训
查看>>