当前位置: 首页 > news >正文

单链表习题(对应章节chapter2)

题目1:链表的中间结点

题目来源:leetcode链表的中间结点

第一种思路分析:考虑指针移动到相应的位置来做

 参考代码:位置(/chapter2/c++/middle-link-list-node/lc1.cc)

#include <stdio.h>
extern "C"{
#include <linklist.h>}link_list_node *middle_node(link_list_node *p_head)
{//直接用头结点来保存中间结点的地址if (p_head == NULL){return NULL;}int pos = (p_head->value / 2);//开始移动相应指针,移动到我们想要结点的前一个结点//然后next就是下一个结点for (int i = 0; i < pos; i++){p_head = p_head->next;}return p_head->next;
}int main()
{link_list_node *p_head = create();//插入12345这几个数据insert_elem(p_head, 1, p_head->value);//全部在最后一个位置插入insert_elem(p_head, 2, p_head->value);//全部在最后一个位置插入insert_elem(p_head, 3, p_head->value);//全部在最后一个位置插入insert_elem(p_head, 4, p_head->value);//全部在最后一个位置插入insert_elem(p_head, 5, p_head->value);//全部在最后一个位置插入insert_elem(p_head, 6, p_head->value);//全部在最后一个位置插入//打印一下print_list(p_head);p_head = middle_node(p_head);while (p_head != NULL){printf("%d ", p_head->value);p_head = p_head->next;}//我们要的是中间结点return 0;
}

这里说一下我用到自己之前写的一个单链表的动态库,不会的同学可以参考我在Linux专栏动态库与静态库制作,后面就不在多说了

下面是Lc提交代码

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/struct ListNode* middleNode(struct ListNode* p_head){//直接用头结点来保存中间结点的地址if (p_head == NULL){return NULL;}//按照lc提交的意思就是//p_head->val返回的不是长度//所以需要我们自己来计算长度int len = 0;struct ListNode *p_node = p_head;while (p_node != NULL){p_node = p_node->next;len++;} len = (len / 2);//开始移动相应指针,移动到我们想要结点的前一个结点//然后next就是下一个结点for (int i = 0; i < len; i++){p_head = p_head->next;}return p_head;}

 运行结果:

文章持续更新中。。。。。。 

相关文章:

单链表习题(对应章节chapter2)

题目1&#xff1a;链表的中间结点 题目来源&#xff1a;leetcode链表的中间结点 第一种思路分析&#xff1a;考虑指针移动到相应的位置来做 参考代码&#xff1a;位置&#xff08;/chapter2/c/middle-link-list-node/lc1.cc&#xff09; #include <stdio.h> extern &qu…...

SQL创建新表

表的创建、修改与删除&#xff1a; 1.1 直接创建表&#xff1a;CREATE TABLE [IF NOT EXISTS] tb_name – 不存在才创建&#xff0c;存在就跳过 (column_name1 data_type1 – 列名和类型必选 [ PRIMARY KEY – 可选的约束&#xff0c;主键 | FOREIGN KEY – 外键&#xff0c;引…...

Python视频剪辑-Moviepy视频尺寸和颜色调整技巧

在视频编辑中,尺寸和颜色是两个不能忽视的重要因素。本文将从专业角度深入探讨如何通过MoviePy进行视频尺寸和颜色的调整,以及遮罩透明度的应用。 文章目录 视频尺寸变换函数裁剪视频指定区域裁剪视频像素为偶数视频增加边框缩小、放大视频视频颜色变换函数blackwhite 视频变…...

前端笔记:Create React App 初始化项目的几个关键文件解读

1 介绍 Create React App 是一个官方支持的方式&#xff0c;用于创建单页应用的 React 设置用于构建用户界面的 JAVASCRIPT 库主要用于构建 UI 2 项目结构 一个典型的 Create React App 项目结构如下&#xff1a; ├── package.json ├── public # 这…...

提高工作效率!本地部署Stackedit Markdown编辑器,并实现远程访问

文章目录 1. docker部署Stackedit2. 本地访问3. Linux 安装cpolar4. 配置Stackedit公网访问地址5. 公网远程访问Stackedit6. 固定Stackedit公网地址 StackEdit是一个受欢迎的Markdown编辑器&#xff0c;在GitHub上拥有20.7k Star&#xff01;&#xff0c;它支持将Markdown笔记保…...

visual studio解决bug封装dll库

1.速度最大化 O2 2.设置输出目录 配置属性/常规/输出目录 链接器/常规/输出dll文件 链接器/调试/输出程序数据库pdb文件 链接器/高级/导入库 3.输出X86 X64分别对应的dll、lib、pdb 然后修改更新说明 更新说明格式如下&#xff1a; 4.将库提交到FTP每日更新库文档下 和测试交接…...

合肥工业大学自然语言处理实验报告

工程报告 目录 1 研究背景 4 2 工程目标 7 2.1 工程一 7 2.2 工程二 7 2.3 工程三 7 2.4 工程四 7 3 实验环境与工具 7 4 模型方法 8 4.1 n-gram模型 8 4.2 模型的平滑 9 4.2.1 Add-one 9 4.2.2 Add-k 9 4.2.3 Backoff 10 4.2.4 Interpolation 10 4.2.5 Absolute discounting 1…...

layui laydate实现日期选择并禁用指定的时间

最终实现禁用2023-9-26这天的效果 官网地址 日期和时间组件文档 - layui.laydate 下面是实现的代码 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>layDate快速使用</title><link rel"stylesheet"…...

scala数组函数合集

目录 1. 添加类函数 2.生成类函数 3.删除类函数 4.查找类函数 5.统计类函数 6.修改类函数 7.判断类函数 8.获取集合元素 9.集合操作类函数 10.转换类函数 11.工具类函数 12.集合内与集合间计算函数 在 scala 中Array数组是一种可变的、可索引的数据集合 创建数组…...

软件测试「转行」答疑(未完更新中)

软件测试行业「转行」答疑&#xff08;未完更新中&#xff09; ⭐文章简介一、2023年「互联网」行业现状&#xff01;二、0基础转行「互联网」的5句大实话建议&#xff01;三、互联网有哪些「职业」&#xff0c;可以选择&#xff1f;四、这些职业之间的优缺点介绍。 ⭐文章简介…...

计算机网络---TCP/UDP

TCP/UDP 1、TCP三次握手 四次挥手? TCP是一种面向连接的、可靠的字节流服务。在建立TCP连接时,需要进行三次握手,而在关闭TCP连接时,需要进行四次挥手。具体来说,TCP三次握手的过程如下: 客户端向服务端发送SYN报文,表示请求建立连接。服务端收到SYN报文后,向客户端发…...

Docker私有仓库打开2375端口(linux)

前言 在我们开发测试过程中&#xff0c;需要频繁的更新docker镜像&#xff0c;然而默认情况下&#xff0c;docker的2375端口是关闭的&#xff0c;下面介绍如何打开端口。 1、打开步骤 1.1、修改配置 登录docker所在服务器&#xff0c;修改docker.service文件 vi /usr/lib/sys…...

底部Taber的抽取

1.会抽取一个布局样式 2.布局样式里面抽取一个底部样式 这个是layout的代码 <template><view class"layout-wrapper"><view class"layout-content"><slot></slot></view><!-- 底部 --><Tabbar :activeInde…...

Bootstrap中固定某一个元素不随滚动条滚动

可以利用类sticky-top实现固定某个元素在顶部的效果&#xff0c;示例代码如下&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>固定某一个元素不随滚动条滚动</title><meta name"viewport&quo…...

时序数据库 IoTDB 发布端边云原生解决方案,有效优化工业互联网数据上传时效与资源消耗...

2023 年 9 月 8 日&#xff0c;由中国通信学会、福建省工业和信息化厅主办的 2023 中国国际工业互联网创新发展大会在厦门举办。大会主论坛中&#xff0c;时序数据库 IoTDB 发表其自研建立的端边云原生解决方案&#xff0c;该方案可实现端侧设备、边缘服务器、数据中心数据的协…...

Spring Boot中实现发送文本、带附件和HTML邮件

SpringBoot实现发送邮箱 引言 在现代应用程序中&#xff0c;电子邮件通常是不可或缺的一部分。在Spring Boot中&#xff0c;你可以轻松地实现发送不同类型的邮件&#xff0c;包括文本、带附件和HTML邮件。本博客将向你展示如何使用Spring Boot发送这些不同类型的电子邮件。 步…...

MySQL5.7版本与8.0版本在CentOS系统安装

目录 前置要求 1. MySQL5.7版本在CentOS系统安装 1.1 安装 1.1.1 配置yum仓库 1.1.2 使用yum安装MySQL 1.1.3 安装完成后&#xff0c;启动MySQL并配置开机自启动 1.1.4 检查MySQL的运行状态 1.2 配置 1.2.1 获取MySQL的初始密码 1.2.2 登陆MySQL数据库系统 …...

【gitlab】从其他仓库创建项目

需求描述 解决方法 以renren-fast脚手架为例 第一步 第二步 第三步 第四步 参考文章...

【ARM CoreLink 系列 6 -- DMC-400控制器简介】

文章目录 1.1 DMC-400 简介1.1.1 DFI&#xff08;DDR PHY Interface&#xff09;1.1.2 DFI 接口组1.1.3 DMC-400 兼容协议1.1.4 DMC-400 特性1.1.5 DMC-400 Interface 1.1 DMC-400 简介 DMC-400是一个由ARM开发、测试和授权的动态内存控制器&#xff0c;同时 DMC-400也是一个符…...

在 Azure 中开发云原生应用程序:工具和技巧

Azure 中的云原生开发工具 Azure 包含一系列用于云原生应用程序开发的内置工具和服务。这里介绍的服务和工具是很好的入门选择。 发展 Azure 包括两个用于开发和构建云原生应用程序的主要工具&#xff1a;Visual Studio (VS) 和Azure应用服务。 VS 是一个集成开发环境&#…...

终极视频修复指南:如何使用Untrunc轻松恢复损坏的MP4/MOV文件

终极视频修复指南&#xff1a;如何使用Untrunc轻松恢复损坏的MP4/MOV文件 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 你是否曾经遇到过珍贵的视频文件突然无法播…...

针对C++开源项目的AI工具讲解。我将它们分为两大类,便于理解

以下是针对C开源项目的AI工具讲解。我将它们分为两大类&#xff0c;便于理解&#xff1a; C开发者使用AI工具来提升开源项目开发效率&#xff08;代码补全、调试、重构、文档生成等&#xff09;。用C开发的开源AI工具/框架&#xff08;这些工具本身是C开源项目&#xff0c;常用…...

FastAPI 2.0流式响应性能翻倍的4个隐藏配置:uvloop优化、httpx异步客户端复用、response_model_exclude_unset调优、asyncpg连接池预热

第一章&#xff1a;FastAPI 2.0流式响应性能翻倍的全景认知FastAPI 2.0 引入了原生异步流式响应&#xff08;StreamingResponse&#xff09;的底层重构&#xff0c;通过移除中间层缓冲、直接对接 ASGI 服务器的 send 协议&#xff0c;并支持零拷贝字节流分块推送&#xff0c;显…...

从理论到实践:LCL逆变器谐振抑制的两种方法对比(有源阻尼vs输出电流反馈)

从理论到实践&#xff1a;LCL逆变器谐振抑制的两种方法对比&#xff08;有源阻尼vs输出电流反馈&#xff09; 在新能源发电和电力电子系统中&#xff0c;LCL滤波器因其出色的高频谐波衰减能力而备受青睐。然而&#xff0c;这种滤波器结构固有的谐振特性却像一把双刃剑——在提升…...

ComfyUI-Florence2深度配置指南:如何高效解决视觉语言模型加载与文档问答难题

ComfyUI-Florence2深度配置指南&#xff1a;如何高效解决视觉语言模型加载与文档问答难题 【免费下载链接】ComfyUI-Florence2 Inference Microsoft Florence2 VLM 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Florence2 在人工智能视觉处理领域&#xff0c;F…...

Ender3V2S1切片器脚本配置指南:优化3D打印效果的完整教程

Ender3V2S1切片器脚本配置指南&#xff1a;优化3D打印效果的完整教程 【免费下载链接】Ender3V2S1 This is optimized firmware for Ender3 V2/S1 3D printers. 项目地址: https://gitcode.com/gh_mirrors/en/Ender3V2S1 Ender3V2S1是一款备受欢迎的3D打印机&#xff0c…...

在 MyBatis 的映射元素 <resultMap> 中,<id> 和 <result> 都用于将查询结果集的列映射到 Java 对象的属性

在 MyBatis 的 <resultMap> 中&#xff0c;<id> 和 <result> 都用于将查询结果集的列映射到 Java 对象的属性&#xff0c;但它们的语义和内部处理机制有本质区别。下面从多个维度详细讲解。 1. <resultMap> 简介 <resultMap> 是 MyBatis 中最重…...

QQ聊天数据管理实践指南:全平台数据访问与安全操作手册

QQ聊天数据管理实践指南&#xff1a;全平台数据访问与安全操作手册 【免费下载链接】qq-win-db-key 全平台 QQ 聊天数据库解密 项目地址: https://gitcode.com/gh_mirrors/qq/qq-win-db-key 问题定位&#xff1a;聊天数据管理的核心挑战 在数字化生活中&#xff0c;即时…...

ASLR:现代操作系统中的内存安全守护者

1. ASLR&#xff1a;现代操作系统的内存安全基石 想象一下你家的门锁每天都会自动更换位置——这就是ASLR&#xff08;地址空间布局随机化&#xff09;对计算机程序做的事。作为现代操作系统最基本的安全机制之一&#xff0c;ASLR通过打乱程序在内存中的"居住地址"&…...

Wan2.2-I2V-A14B数据预处理流水线:使用OpenCV自动化处理输入图像

Wan2.2-I2V-A14B数据预处理流水线&#xff1a;使用OpenCV自动化处理输入图像 1. 为什么需要图像预处理 在图像生成视频&#xff08;I2V&#xff09;的流程中&#xff0c;输入图像的质量直接影响最终视频的生成效果。就像做菜前需要洗净切好食材一样&#xff0c;对原始图像进行…...