题目1518:反转链表-九度

MFC停靠窗口实战:CDockablePane从创建到控件布局的完整指南(附残影问题排查) 本文提供了MFC中CDockablePane停靠窗口的完整实战指南,涵盖从自定义窗格类创建、主框架集成、内部控件布局到高级功能定制的全过程。针对开发中常见的“残影”视觉问题,文章深入剖析了其根源,并给出了系统性的排查步骤与解决方案,帮助开发者构建稳定、专业的可停靠用户界面。 阅读详情
题目描述:
输入一个链表,反转链表后,输出链表的所有元素。
(hint : 请务必使用链表)
输入:
输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行为一个整数n(0<=n<=1000):代表将要输入的链表的个数。
输入的第二行包含n个整数t(0<=t<=1000000):代表链表元素。
输出:
对应每个测试案例,
以此输出链表反转后的元素,如没有元素则输出NULL。
样例输入:
5
1 2 3 4 5
0
样例输出:
5 4 3 2 1

NULL

推荐指数:※※

来源:http://ac.jobdu.com/problem.php?pid=1518

这一到题是链表的操作,OJ中要求实现链表的结构(不然就太。。。)。

翻转链表,是要调整指针的方向,是的尾变头,头变尾。

1.直接的想法,是再扫描链表的同时,多使用一个指针,保持在翻转每个指针的时候,指针不断裂。(明天补充)

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
typedef struct node{
    int val;
    node * next;
}node;

int main()
{
    int n;
    while(scanf("%d",&n)!=EOF){
        node *head=new node;
        head->next=NULL;
        node *pre=head;
        int i;
        for(i=0;i<n;i++){
            node *no=new node;
            scanf("%d",&no->val);
            no->next=NULL;
            pre->next=no;
            pre=no;
        }
        if(head->next==NULL)
            printf("NULL\n");
        else
        {
            node *p=head->next;
            node *pre=NULL;
            while(p!=NULL){
                node *q=p->next;
                p->next=pre;
                pre=p;
                p=q;
            }
            head->next=pre;
            p=head->next;
            if(p!=NULL)
                printf("%d",p->val);
            while(p->next!=NULL){
                p=p->next;
                printf(" %d",p->val);
            } 
            printf("\n");
        }
    }
    return 0;
}


2.新建一个nhead,扫描员link,每读一个节点加入到nhead->next.。这样在读完原链表之后就实现了翻转。(如果不想破换源链表的结构,可以在读取原链表的时候才用复制节点的方法。)

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
typedef struct node{
    int val;
    node * next;
}node;

int main()
{
    int n;
    while(scanf("%d",&n)!=EOF){
        node *head=new node;
        head->next=NULL;
        node *pre=head;
        int i;
        for(i=0;i<n;i++){
            node *no=new node;
            scanf("%d",&no->val);
            no->next=NULL;
            pre->next=no;
            pre=no;
        }
        if(head->next==NULL)
            printf("NULL\n");
        else
        {
            node *nhead=new node;
			nhead->next=NULL;
            node *p=head->next;
            while(p!=NULL){
                node *q=nhead->next;
                nhead->next=p;
                p=p->next;
                nhead->next->next=q;
            }
            head->next=nhead->next;
            p=head->next;
            if(p!=NULL)
                printf("%d",p->val);
            while(p->next!=NULL){
                p=p->next;
                printf(" %d",p->val);
            } 
            printf("\n");
        }
    }
    return 0;
}



ardupilot开发 --- 避障篇 适配ardupilot的雷达避障功能开发,使用低成本雷达思岚科技系列雷达,配置简单,灵敏度高,障碍物检测范围不低于30m。 阅读详情

相关推荐

如何设计一个低代码平台

近些年来,低代码发展火热,各种低代码平台如雨后春笋纷纷崛起,这些平台各定位不同,优劣不同,用户的选择空间很大。那么,如果用户想从零开始设计一个低代码平台,该如何做呢?

Jarod_Chou的博客 8259

九度OJ-题目1518:反转链表

题目链接地址: 九度OJ-题目1518:反转链表 题目描述: 输入一个链表,反转链表后,输出链表的所有元素。 (hint : 请务必使用链表) 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为一个整数n(0 输入的第二行包含n个整数t(0 输出: 对应每个测试案例, 以此输出链表反转后的元素,如没有元素则输

蜗牛 794

CS算法实战:用MATLAB从零实现SAR点目标成像(附完整代码)

本文详细介绍了如何使用MATLAB从零实现SAR点目标CS成像算法,涵盖Chirp Scaling(CS)算法的核心理论、距离徙动校正(RCMC)和方位压缩等关键步骤。通过完整的代码示例和实战技巧,帮助读者掌握SAR成像处理算法,提升遥感图像处理能力。

weixin_29211309的博客 179

九度_题目1518:反转链表

//后插法建立链表,然后从第二个元素(若有的话)开始依次插入到头结点后面从而达到反转链表的效果 题目描述: 输入一个链表,反转链表后,输出链表的所有元素。 (hint : 请务必使用链表) 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为一个整数n(0 输入的第二行包含n个整数t(0 输出: 对应每个测试案例, 以此输出链表反转后的元素,如

狂奔的蜗牛 1333

八大排序算法——(万字图文详解)

本篇博客将对“直接插入排序”、“希尔排序”、“直接选择排序”、“堆排序”、“冒泡排序”、“快速排序”、“归并排序”、“计数排序”进行详细的解析(算法逻辑、具体实现过程、时间复杂度、稳定性),并附以图片帮助大家更好地理解算法逻辑以及实现每个排序的参考代码。

Forward♞的博客 8078

SMARTFORMS实战:用Template+Loop实现复杂表格布局(附避坑指南)

本文深入解析了SMARTFORMS中Template与Loop组合实现复杂表格布局的实战技巧,突破传统TABLE组件的限制。通过多级表头、单元格合并等案例演示,提供从基础架构搭建到动态数据绑定的完整解决方案,并分享性能优化与异常处理的最佳实践,助力开发者高效应对企业级报表设计挑战。

numpy6sculptor的博客 805

九度oj题目1518:反转链表

题目1518:反转链表 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:2567 解决:948 题目描述: 输入一个链表,反转链表后,输出链表的所有元素。(hint : 请务必使用链表) 输入: 输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为一个整数n(0<=n<=1000):代表将要输入的链表的个数。输...

weixin_30794499的博客 128

0/1背包问题:从暴力递归到动态规划详解

题目: 有一组数量为 n 个物品,每个物品都有重量w 和价值v 给定一个背包bag,背包装的物品不能超过背包最大载重容量返回背包bag 能装下的最大价值1. 物品的重量和价值:2. 背包的容量:暴力解法的核心是递归,通过逐一决策每个物品是否放入背包,最终找到最优解。状态定义:递归逻辑:递归终止条件: 动态规划解法 递归的暴力解法有重复子问题,导致了大量的重复计算。为了解决这个问题,我们可以使用动态规划来优化。状态定义:状态转移:边界条件: 测试方法 示例解析 假设:我们希望找到在容量为

Mr.Ayao's blog 2066

【剑指Offer面试编程题】题目1518:反转链表--九度OJ

本题正确思路应该是应三个指针p1,p2,p3分别指向相邻的三个元素a,b,c,然后p2->next=p1,p1=p2,p2=p3,p3=p3->next,然后就是继续调整。同时注意对NULL的处理。 但我采用了stl中的list数据结构和其本身具有的reverse函数来完成,因为觉得这种题目要做也可以。

一路向前 819

从零搭建基于OpenSpec的现代化UI自动化测试框架实战指南

UI自动化测试是软件质量保障的关键环节,其核心在于通过脚本模拟用户操作,对Web应用界面进行功能验证。其原理在于利用浏览器驱动工具(如Selenium、Playwright)提供的API,实现对页面元素的定位、交互与断言。一个设计良好的自动化框架能显著提升测试脚本的可维护性、可读性和执行稳定性,从而在持续集成、回归测试等场景中发挥巨大价值。本文聚焦于如何构建一个现代化的UI测试框架,通过整合OpenSpec架构规范、Pytest测试引擎与Playwright浏览器自动化工具,形成清晰的页面对象模型(POM)

weixin_28836989的博客 286

用 SAP ABAP ALV 重塑 SM30:可扩展的自定义表维护视图与自动传输实践

文章摘要: 本文提出了一种基于ALV Grid的动态表维护框架,用于替代传统SM30维护视图。该方案通过输入表名自动生成维护界面,支持动态筛选、批量操作和自动传输管理。核心设计包括:利用BAdI实现扩展点、通过行状态字段简化数据变更跟踪、使用Style Table控制单元格编辑权限、集成CTS实现自动传输。相比SM30标准维护,该框架显著提升了交互体验(支持ALV排序/过滤/汇总)和业务扩展性(统一校验与权限控制),同时解决了"维护+传输"流程割裂的问题。文中详细阐述了技术实现方案,并提

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 318

【剑指offer之反转链表】九度OJ-1518-反转链表

【题目链接】:九度OJ-1518-反转链表 【题目描述】: 输入一个链表,反转链表后,输出链表的所有元素。 (hint : 请务必使用链表) 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为一个整数n(0<=n<=1000):代表将要输入的链表的个数。 输入的第二行包含n个整数t(0<=t<=1000000):代表链表元素。 输出: 对应每个测

herongwei 的 BLOG 565

【无人机基站】基于K-mean算法实现无人机基站部署附matlab代码

【无人机基站】基于K-mean算法实现无人机基站部署附matlab代码

天天酷科研的博客 243

【剑指Offer面试题】 九度OJ1518:反转链表

与其很快写出一段漏洞百出的代码,倒不如仔细分析再写出鲁棒的代码。 提前想好测试用例(输入非空等等)进行测试修改代码。 题目链接地址: http://ac.jobdu.com/problem.php?pid=1518题目1518:反转链表时间限制:1 秒内存限制:128 兆特殊判题:否提交:2606解决:957 题目描述: 输入一个链表,反转链表后,输出链表的所有元素。 (hint :

牧之 1100

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【剑指offer】递归循环两种方式反转链表

本文分别用非递归和递归两种方式实现了链表的反转,在九度OJ上测试了非递归版本,AC。 题目描述: 输入一个链表,反转链表后,输出链表的所有元素。 (hint : 请务必使用链表) 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为一个整数n(0<=n<=1000):代表将要输入的链表的个数。 输入的第二行包含n个整数t(0<=t<=1000000):代表链表元素。 输出: 对应每个测试案例, 以此输出链表反转后的元素,如没有元素则输出NULL。 样例输入:

兰亭风雨的专栏 7614

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

九度 1518 :反转链表

题目来源:http://ac.jobdu.com/problem.php?pid=1518 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:1086 解决:457 题目描述: 输入一个链表,反转链表后,输出链表的所有元素。 (hint : 请务必使用链表) 输入: 输入可能包含多个测试样例,输入以EOF

Abner 990

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

剑指OFFER之反转链表(九度OJ1518)

剑指OFFER之反转链表(九度OJ1518) 题目描述: 输入一个链表,反转链表后,输出链表的所有元素。(hint : 请务必使用链表)   输入: 输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为一个整数n(0&lt;=n&lt;=1000):代表将要输入的链表的个数。输入的第二行包含n个整数t(0&l...

xingoo 153

九度oj-1518-反转链表

时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:2829 解决:1025 题目描述: 输入一个链表,反转链表后,输出链表的所有元素。 (hint : 请务必使用链表) 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为一个整数n(0 输入的第二行包含n个整数t(0

u011514451的专栏 319

反转链表

题目1518:反转链表

mykelia的专栏 599

剑指Offer - 九度1518 - 反转链表

剑指Offer - 九度1518 - 反转链表2013-11-30 03:09 题目描述: 输入一个链表,反转链表后,输出链表的所有元素。(hint : 请务必使用链表) 输入: 输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为一个整数n(0<=n<=1000):代表将要输入的链表的个数。输入的第二行包含n个整数t(0<=t&...

weixin_30551963的博客 113

【九度OJ1518】|【剑指offer16】反转链表

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34087301的博客 130

反转链表,关于指针的一点知识和九度oj1518

题意 求反转链表题目链接所犯的错误 这道题尽管是道水题,但写程序的时候指针出现了一点错误,导致调了一阵子都不知道哪错了先把代码放上来 #include <cstdio> #include <cstring> #include <algorithm> using namespace std;struct ListNode { int val; ListNode *next; };Lis

zyh 496

【九度】链表整理

1415 不一样的循环队列 1181 遍历链表 1503 二叉搜索树与双向链表 1505 两个链表的第一个公共结点 1511 从尾到头打印链表 1517 链表中倒数第k个结点 1518 反转链表 1519 合并两个排序的链表 1524 复杂链表的复制 1415 不一样的循环队列,其实是考察链表的底层实现。 从这个题目说起,写一写链表的底层实现。 其他的都是对链表的一些基本操作

wangzq的专栏 837

剑指Offer--016-反转链表

链接 牛客OJ:反转链表 九度OJ:http://ac.jobdu.com/problem.php?pid=1518 GitHub代码: 016-反转链表 优快云题解:剑指Offer–016-反转链表 牛客OJ 九度OJ 优快云题解 GitHub代码 反转链表 1518-反转链表 剑指Offer–016-反转链表 016-反转链表 题

OSKernelLAB(gatieme) 2491
上一篇: 题目1517:链表中倒数第k个结点-九度
下一篇: 题目1519:合并两个排序的链表-九度
zoushidexing
博客等级 码龄18年 70粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值