【牛客刷题专栏】0x0E:JZ6 从尾到头打印链表(C语言编程题)

news2024/11/24 5:46:26

前言

  • 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失
  • 个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer:
    在这里插入图片描述

目录

  • 前言
  • 问题描述:
  • 举例:
  • 解法思路:
  • 代码结果:
  • 结束语


问题描述:

  • 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。
  • 如输入{1,2,3}的链表如下图:
    在这里插入图片描述
    返回一个数组为[3,2,1]
  • 数据范围:0≤链表长度≤10000

举例:

//示例1:
//输入:
{1,2,3}
//返回值:
[3,2,1]
//==========================
//示例2:
//输入:
{67,0,24,58}
//返回值:
[58,24,0,67]

解法思路:

逆序第一时间想到栈;

  • 定义一个数组实现的栈;
  • 遍历链表,将所有链表元素依次填入栈中;
  • 再将栈中的元素依次填入到返回的数组中;

代码结果:

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 * };
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param listNode ListNode类 
 * @return int整型一维数组
 * @return int* returnSize 返回数组行数
 */
int* printListFromTailToHead(struct ListNode* listNode, int* returnSize ) {
    // write code here
    int A[10000];
    int top = -1;
    
    *returnSize = 0;
    int res[10000];
    
    struct ListNode* p = listNode;
    while(p != NULL) {
        A[++top] = p->val;
        p = p->next;
    }
    
    while(top!= -1){
        res[(*returnSize)++] = A[top];
        top--;
    }
    return res;
}


结束语

  • 以上就是该C语言编程题的内容。可以在牛客尝试刷几道题目来练习实践。牛客网刷题(点击可以跳转),可以尝试注册使用。
  • 题目来自:牛客/题库 / 在线编程 / 剑指offer:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/378094.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

互联网衰退期,测试工程师35岁之路怎么走...

国内的互联网行业发展较快,所以造成了技术研发类员工工作强度比较大,同时技术的快速更新又需要员工不断的学习新的技术。因此淘汰率也比较高,超过35岁的基层研发类员工,往往因为家庭原因、身体原因,比较难以跟得上工作…

Windows平台Unity Camera场景实现轻量级RTSP服务和RTMP推送

技术背景随着VR技术在医疗、军事、农业、学校、景区、消防、公共安全、研学机构、展厅展馆,商场等场所普及,开发者对Unity平台下的直播体验提出了更高的要求。技术实现Unity平台下的RTMP推流、RTMP、RTSP播放前几年已经覆盖了Windows、Linux、Android、i…

华为OD机试题,用 Java 解【内存资源分配】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

蓝蓝算法二期工程day3,一万年太久,只争朝夕

思路: 最好想的是用hashmap,当然用c的话也可以用两个数组,一个数组用于存放字符串,自动对应ACSII码,一个将对应ACSII码的数字对应其下标,当然这也是用的映射的思想。 import java.util.*;public class Cac…

【蓝桥杯选拔赛真题38】python目标值判断 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 python目标值判断 一、题目要求 1、编程实现 2、输入输出 二、解题思路

47个SQL性能优化技巧,看到就是赚到

1、先了解MySQL的执行过程 了解了MySQL的执行过程,我们才知道如何进行sql优化。 (1)客户端发送一条查询语句到服务器; (2)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的…

Linux 内核 container_of 宏详解

目录 前言 1、container_of 宏介绍 2、container_of 宏的使用示例 3、container_of 宏实现原理分析 3.1 结构体在内存中的存储 3.2 计算成员变量在结构体内的偏移 3.3 container_of 宏的原理实现 4、总结 前言 本章内容会涉及到的基础知识有 typeof关键字 和 语句表达…

django-博客(一)

一、 1、环境:pycharm,python3.6,django3,mysql8.0 2、创建项目 3、把html和css样式那些导入到文件夹中,​​​​​​然后配置这些文件夹的路径,再添加首页视图。 改成反向解析 python manage.py runserv…

ElasticSearch 学习笔记总结(三)

文章目录一、ES 相关名词 专业介绍二、ES 系统架构三、ES 创建分片副本 和 elasticsearch-head插件四、ES 故障转移五、ES 应对故障六、ES 路由计算 和 分片控制七、ES集群 数据写流程八、ES集群 数据读流程九、ES集群 更新流程 和 批量操作十、ES 相关重要 概念 和 名词十一、…

熵,线性规划,半监督自监督聚类打标签

1.熵 信息熵是消除不确定性所需信息量的度量。 信息熵就是信息的不确定程度,信息熵越小,信息越确定。 对象的信息熵是正比于它的概率的负对数的,也就是 I©−log(pc) 其中n为事件的所有可能性。 为什么使用交叉熵?在机器学习…

分析设备故障时间和次数,打破生产瓶颈?包在虹科身上

前言 生产设备的稳定性和可靠性是保证企业正常生产的重要条件之一,设备故障的频发严重影响企业的正常生产,那么如何分析设备故障时间和次数,查找设备故障原因,协助企业打破生产瓶颈,有效地实现生产目标呢?…

面试总结——react生命周期

react生命周期总结 生命周期主要分为以下几个阶段: Mounting:创建虚拟DOM,渲染UI(初始化)Updating:更新虚拟DOM,重新渲染UI;(更新)UnMounting:删除虚拟DOM,移除UI;(销毁) 生命周期…

docker-compose安装kafka和php简单测试

docker-compose.yml内容: version: 3.1 services: zookeeper: container_name: zookeeper image: zookeeper:3.6 ports: - 2181:2181 kafka: image: wurstmeister/kafka container_name: kafka depends_on: - zookeeper …

java基础系列(八) synchronized关键字

一. 认识synchronized 先看一下如下Demo public class Test {public static void main(String[] args) {Count obj new Count();//only one objectMyThread1 t1 new MyThread1(obj);MyThread2 t2 new MyThread2(obj);t1.start();t2.start();} }class MyThread2 extends Th…

面试题1-JAVA的执行流程

JAVA的执行流程 分两步,1.翻译 2执行 Java属于两种类型: 编译型和解释型 编译型 ​ 概念: 把源代码翻译成.class文件 >意思是: 把程序员的源代码翻译成虚拟电脑能看得懂的代码 解释型 ​ 概念: 把.class文件进行解析执行 >把翻译后的代码交给虚拟电脑执行指令 执行流程…

揭开Salesforce Accredited Professional证书神秘面纱,到底含金量有多高?

自从Salesforce宣布Accredited Professional计划以来,已经过去了将近两年。这些认证旨在证明备考者在Salesforce平台特定领域的广泛知识,并且仅供Salesforce合作伙伴使用。Accredited Professional中有近40项Salesforce认证,涵盖平台、销售、…

学校机房4大安全隐患,赶紧自查

无论是企业、医院、政府机构还是学校,都有机房。传统机房出现事故时无法及时发现和处理,导致影响范围大,损失严重。 随着信息技术的不断发展,各行业信息化程度不断提升,配套的数据中心机房日益增多,为业务信…

LeetCode 147. 对链表进行插入排序 | C/C++版

LeetCode 147. 对链表进行插入排序 | C语言版LeetCode 147. 对链表进行插入排序题目描述解题思路思路一:使用栈代码实现运行结果参考文章:思路二:减少遍历节点数代码实现运行结果参考文章:[]()LeetCode 147. 对链表进行插入排序 …

Sharding Sphere学习

一、基本概念 1.什么是Sharding Sphere 2.分库分表3.分库分表的方式 4.分库分表应用和问题 5.功能 5.1数据分片 —核心概念 —使用限制 5.2分布式事务 —核心概念 —使用限制 5.3读写分离 —核心概念 —使用限制 5.4高可用 —核心概念 —使用限制 5.5数据库网关 —核心概念…

shield分析

本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,若有侵权请联系我删除!技术交流合作请私信! 熟练打开Fiddler设置好手机代理,摆弄半天一直抓不到包,应该是小红书监测到了F…