文档章节

翻转一个单列表

昏鸦
 昏鸦
发布于 2014/09/18 16:55
字数 161
阅读 7
收藏 0

#include<stdio.h>

#include<stdlib.h>


/**

翻转一个单链表

*/

typedef struct Node{


        int value; 

        struct Node * next;

}Node;



Node * reverse(Node *head){


        if(head == NULL || head -> next == NULL ){ return  head;}


        Node *f1 = NULL, *f2 = NULL, *cur = NULL;


        cur = head;

        f1 = cur->next;

        f2 = cur->next->next;

        if(f2 == NULL){

                f1->next = cur;

                cur->next = NULL;

                return f1;

        }


        while(f2 != NULL){


                f1->next = cur;

                cur = f1;

                f1 = f2;

                f2 = f2->next;


        }


        head->next=NULL;

        f1->next = cur;

        return f1;




}


void printNodes(Node * node){

        int i = 0;

        printf("\n---------------------------\n");


        while(node != NULL && i < 10){

                printf("%d\n",node->value);

                i++;

                node = node->next;

        }


}

int main(){


        Node *n1 = malloc(sizeof(struct Node ));

        Node *n2 = malloc(sizeof(struct Node ));

        Node *n3 = malloc(sizeof(struct Node ));

        Node *result;

        int i =0;

        n1->value =1;

        n2->value =2;

        n3->value =3;

        n1->next = n2;

        n2->next = n3;

        n3->next = NULL;

        printNodes(n1);

        result  = reverse(n1); 

        printNodes(result);




}


© 著作权归作者所有

上一篇: python 内存管理
下一篇: 二分查找法
昏鸦
粉丝 7
博文 197
码字总数 67839
作品 0
程序员
私信 提问
【算法系列 一】 Linked List

给定两个链表,分别表示两个非负整数。它们的数字逆序存储在链表中,且每个结点只存储一个数字,计算两个数的和,并且返回该链表(Leetcode 2)。 Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Outpu...

Hosee
2016/03/01
174
1
python的基本数据类型:列表的方法

整数和浮点(Python3 没有int和long只有int类型) 十进制 默认 二进制 0bnnn 八进制 0onnn 十六进制 0xnnn float() decimal 固定小数模块 fractions有理分数 Bool类型 Ture False bool()...

Hai_Mo
2017/08/16
0
0
61.Rotate List-Leetcode

debug遇到的问题 1.语法之指向指针成员 2.当k大于链表长度的情况下 拿到这题我首先想到的就是用快慢指针来解,快指针先走k步,然后两个指针一起走,当快指针走到末尾时,慢指针的下一个位置是...

analanxingde
2018/01/16
0
0
使用jQuery和CSS3创建一个支持翻转效果的微/轻博客网站列表

日期:2012-4-10 来源:GBin1.com 在线演示 本地下载 今天我们将使用页面元素的翻转效果设计一个微博和轻博网站列表,将使用jQuery的jQuery Flip插件来实现特效。 HTML代码 这里我们使用soc...

gbin1
2012/04/10
222
0
语义分割丨PSPNet源码解析「网络测试」

引言 本文接着上一篇语义分割丨PSPNet源码解析「网络训练」,继续介绍语义分割的测试阶段。 模型训练完成后,以什么样的策略来进行测试也非常重要。 一般来说模型测试分为单尺度single scal...

vincent1997
05/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

UAVStack功能上新:新增JVM监控分析工具

UAVStack推出的JVM监控分析工具提供基于页面的展现方式,以图形化的方式展示采集到的监控数据;同时提供JVM基本参数获取、内存dump、线程分析、内存分配采样和热点方法分析等功能。 引言 作为...

宜信技术学院
24分钟前
6
0
MySQL的5种时间类型的比较

日期时间类型 占用空间 日期格式 最小值 最大值 零值表示 DATETIME 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 9999-12-31 23:59:59 0000-00-00 00:00:00 TIMESTAMP 4 bytes YYYY-MM......

物种起源-达尔文
31分钟前
6
0
云服务OpenAPI的7大挑战,架构师如何应对?

阿里妹导读:API 是模块或者子系统之间交互的接口定义。好的系统架构离不开好的 API 设计,而一个设计不够完善的 API 则注定会导致系统的后续发展和维护非常困难。比较好的API设计样板可以参...

阿里云官方博客
34分钟前
5
0
Rancher + VMware PKS实现全球数百站点的边缘K8S集群管理

Sovereign Systems是一家成立于2007年的技术咨询公司,帮助客户将传统数据中心技术和应用程序转换为更高效的、基于云的技术平台,以更好地应对业务挑战。曾连续3年提名CRN,并且在2012年到2...

RancherLabs
39分钟前
5
0
6、根据坐标,判断该坐标是否在地图区域范围内

最近在写配送区域相关的代码,具体需求如下: 根据腾讯地图划分配送区域,总站下边设多个配送分站,然后将订单中的收货地址将其分配给不同的配送分站。 1、地图区域划分(腾讯地图) 1.1、H...

有一个小阿飞
41分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部