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

每日一题-----逆序字符串

大家好我是Beilef,在一个美好的下午我意外接触到编程并且产生了兴趣,哈哈我要努力成为一个跨界者,让我们一起加油吧O(∩_∩)O

文章目录

  • 目录

    文章目录

    前言

    大家好请上车

    一、逆序字符串  

    题⽬描述: 输⼊⼀个字符串,写⼀个函数将⼀个字符串的内容逆序过来。

    二、解题思路

    我们需要⾸先理解,逆序后的字符串与逆序之前的字符串的关系:

    1. ⾸位与末位互换;

    2. 第⼆位与倒数第⼆位互换;

    3. ...

    4. 最中间的两位互换,或者字符串⻓度为奇数时,中间字符不变。 因此,我们可以定义两个指针分别指向字符串⾸位和末位,对其进⾏交换操作,然后将两个指针相向 移动⼀位,继续交换剩余字符。直⾄两个指针的相对位置发⽣变化时结束操作,最终得到的字符串即 为逆序后的字符串。

    2.代码演示

    总结



前言

大家好请上车

 


提示:以下是本篇文章正文内容,下面案例可供参考

一、逆序字符串  

题⽬描述: 输⼊⼀个字符串,写⼀个函数将⼀个字符串的内容逆序过来。

二、解题思路

我们需要⾸先理解,逆序后的字符串与逆序之前的字符串的关系:
1. ⾸位与末位互换;
2. 第⼆位与倒数第⼆位互换;
3. ...
4. 最中间的两位互换,或者字符串⻓度为奇数时,中间字符不变。 因此,我们可以定义两个指针分别指向字符串⾸位和末位,对其进⾏交换操作,然后将两个指针相向 移动⼀位,继续交换剩余字符。直⾄两个指针的相对位置发⽣变化时结束操作,最终得到的字符串即 为逆序后的字符串。

2.代码演示

#include  <stdio.h>
#include <string.h>
void reverse(char* str)
{//利用库函数求得字符串长度 int len = strlen(str);//定义两个字符串指针分别指向首位 char* left = str;char* rinth = str + len - 1;//当左指针在又指针左边时,进行交换 while (left < rinth){char tmp = *left;*left = *rinth;*rinth = tmp;//两个指针逐渐靠拢移向一位 left++;rinth--;}
}
int main()
{char arr[31] = { 0 };//输入字符串 scanf("%s",arr);//对字符串进行逆序 reverse(arr);printf("%s", arr);return 0;
}

总结

这里的指针有点不好理解我找个时间做一篇指针的浅理解,有啥不对的地方请提出来我一定改,你们的点赞关注和收藏,是对我最大的鼓励,谢谢大家😄

相关文章:

每日一题-----逆序字符串

大家好我是Beilef&#xff0c;在一个美好的下午我意外接触到编程并且产生了兴趣&#xff0c;哈哈我要努力成为一个跨界者&#xff0c;让我们一起加油吧O(∩_∩)O 文章目录 目录 文章目录 前言 大家好请上车 一、逆序字符串 题⽬描述&#xff1a; 输⼊⼀个字符串&#xff0c;写…...

js两个对象数组合并。并且去掉里边某个属性相同的对象

要合并两个JavaScript对象数组并去除其中某个属性相同的对象&#xff0c;您可以使用concat()方法将两个数组合并&#xff0c;然后使用reduce()方法进行筛选。 以下是一个示例代码&#xff0c;演示了如何合并两个对象数组并去除其中某个属性相同的对象 const array1 [{ id: 1…...

创建重试机制

要自己创建重试机制&#xff0c;可以使用循环结构来实现。以下是一个简单的重试机制的示例代码&#xff1a; java public class RetryExample { public static void main(String[] args) { int maxRetryTimes 3; // 最大重试次数 int retryInterval 1000; /…...

[c]统计数字

题目描述 某次科研调查时得到了n个自然数&#xff0c;每个数均不超过1500000000&#xff08;1.5*109&#xff09;。已知不相同的数不超过10000个&#xff0c;现在需要统计这些自然数各自出现的次数&#xff0c;并按照自然数从小到大的顺序输出统计结果。 输入描述: 第1行是整数…...

采用ODP.NET 批量进行数据同步

因开发、测试场景经常需要模拟机生产环境的数据&#xff0c;原同事开发了一个ado.net图形化同步工具&#xff0c;对非技术人员操作友好&#xff0c;但对技术员使用并不方便&#xff0c;每次同步需源库数据与目标的数据源字段进行配置&#xff0c;且同步大数据时慢&#xff0c;因…...

【vue滚动条插件vuescroll】【vue自定义滚动条】

文章目录 前言一、使用步骤1.下载2.引入库三、在组件中如何使用&#xff1f;四、跳转到顶部的方法scrollTo() 五、效果总结 前言 由于浏览器自带的滚动条比较不符合设计图&#xff0c;所以在大部分项目中&#xff0c;我们都会自定义滚动条的样式&#xff0c;来还原设计图&…...

python 1200例——【8】冒泡排序

冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 冒泡排序的代码: def bubble_sort(arr):n = len(arr)for i in range(n):#…...

在PyTorch中设置随机数生成器的种子值

在PyTorch中设置随机数生成器的种子值的方法 CPU&#xff1a;可以使用torch.manual_seed()函数 GPU&#xff1a;需要额外设置torch.cuda.manual_seed()来设置GPU上的随机数生成器种子值。 import torch# 设置随机种子 torch.manual_seed(0)if torch.cuda.is_available():tor…...

用手机做无人直播怎么做?

用手机进行无人直播已经成为了一种新兴的方式&#xff0c;给我们的生活带来了便利和创新。无人直播是指通过手机进行实时转播&#xff0c;而无需人工操作的一种直播形式。以下将介绍如何用手机实现无人直播。 首先&#xff0c;要实现手机无人直播&#xff0c;我们需要一个稳定…...

【zookeeper经典应用实战】

文章目录 Zookeeper主要方法 Zookeeper Java客户端实战 ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。可供选择的Java客户 端API有&#xff1a; ZooKeeper官方的Java客户端API。 第三方的Java客户端API&#xff0c;比如Curator。 ZooKeeper官方的客户端…...

12月25日作业

串口发送控制命令&#xff0c;实现一些外设LED 风扇 uart4.c #include "uart4.h"void uart4_config() {//1.使能GPIOB\GPIOG\UART4外设时钟RCC->MP_AHB4ENSETR | (0x1 << 1);RCC->MP_AHB4ENSETR | (0x1 << 6);RCC->MP_APB1ENSETR | (0x1 <…...

React学习计划-React16--React基础(五)脚手架创建项目、todoList案例、配置代理、消息订阅与发布

一、使用脚手架create-react-app创建项目 react脚手架 xxx脚手架&#xff1a;用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置&#xff08;语法检查、jsx编译、devServe…&#xff09;下载好了所有相关的依赖可以直接运行一个简单的效果 react提供了一个…...

C语言中switch语句中的case后()

基本格式 switch(表达式) { case整型数值1&#xff1a;语句1&#xff1b; ...... case整型数值n&#xff1a;语句n&#xff1b; default:语句n1; } 执行过程 计算“表达式”的值&#xff0c;假设为m从第一个case开始&#xff0c;比较“整型数值1”和m,如果相等&#xff0c…...

【RocketMQ笔记02】安装RocketMQ可视化工具rocketmq-dashboard

这篇文章&#xff0c;主要介绍如何安装RocketMQ可视化工具rocketmq-dashboard。 目录 一、RocketMQ可视化界面 1.1、下载rocketmq-dashboard 1.2、修改配置文件 1.3、打包工程 1.4、启动rocketmq-dashboard 一、RocketMQ可视化界面 1.1、下载rocketmq-dashboard rocketm…...

AutoSAR(基础入门篇)2.2-AutoSAR架构中的Ports类型与Runnables可运行实体

Ports的类型 一、接口的类型 1、S/R接口 2、C/S接口 Runnables可运行实体...

【Unity】GPU骨骼动画 渲染性能开挂 动画合批渲染 支持武器挂载

GPU骨骼动画视频介绍&#xff1a; GPU顶点动画和GPU骨骼动画实现原理及优缺点对比 性能优化 GPU动画是实现万人同屏的前置条件&#xff0c;在之前的文章中已介绍过GPU顶点动画的实现方法&#xff1a;【Unity】渲染性能开挂GPU Animation, 动画渲染合批GPU Instance_skinmeshren…...

打开相机失败 出现错误的原因

如何解决&#xff1f; Debug中缺少DLL文件 以下参考周姐文档 相机调用步骤 学习相机第三方库的安装 https://blog.csdn.net/Qingshan_z/article/details/117257136书签&#xff1a;QT添加库&#xff08;静态库和动态库&#xff09;_Qingshan_z的博客-CSDN博客_qt添加库 添加文…...

什么是阿里云负载均衡SLB?

目录 硬件或软件负载均衡的区别是什么&#xff1f; 什么是阿里云负载均衡SLB&#xff1f; 阿里云传统型负载均衡CLB 硬件或软件负载均衡的区别是什么&#xff1f; 通过专用硬件实现负载均衡&#xff0c;那么整体成本会较高&#xff0c;而且设备容易出现单点故障&#xff0c;…...

Mybatis三 | 动态SQL

目录 if where set ctrl alt l格式化SQL语句 随着用户的输入或外部条件的变化而变化的SQL称为动态SQL if <if>用来判断条件是否成立&#xff0c;使用test属性进行条件判断&#xff0c;如果true&#xff0c;则拼接SQL where wehre元素只会在有条件成立的情况下才插入…...

信号与槽QT4和QT5的区别

信号与槽QT4和QT5的区别 Qt4 connect(btn, SIGNAL(clicked()), this, SLOT(close()));在 Qt 4 中&#xff0c;信号和槽的连接使用了一种不同的语法&#xff0c;这是 Qt 框架特有的&#xff0c;利用了 Qt 的元对象系统&#xff08;Meta-Object System&#xff09;。Qt 4 中连接…...

【GEO实战密码】GEO 的真正护城河,是 RAG

《GEO实战密码》节选&#xff1a;GEO 的真正护城河&#xff0c;是 RAG企业做生成式搜索优化&#xff0c;别只盯着外部曝光。AI 愿不愿意引用你&#xff0c;首先取决于你的内容值不值得被信任。最近和不少企业聊 GEO&#xff0c;也就是生成式搜索优化&#xff0c;发现一个非常典…...

在华为擎云L420上从源码编译ARM GCC 10.3,为Betaflight开发铺路

在华为擎云L420上构建ARM GCC 10.3工具链&#xff1a;Betaflight开发环境实战指南 当国产化硬件遇上开源飞控开发&#xff0c;技术探索的边界正在被不断拓展。华为擎云L420作为一款基于ARM64架构的笔记本电脑&#xff0c;为开发者提供了在国产平台上进行嵌入式开发的独特机会。…...

用STM32F103C8T6给小车装上‘眼睛’:HC-SR04超声波+SG90舵机云台避障保姆级教程

用STM32F103C8T6打造智能小车感知系统&#xff1a;超声波与舵机云台的深度整合实战 在嵌入式系统开发领域&#xff0c;赋予机器"感知-决策-执行"的能力是一个令人着迷的课题。当我们把目光投向智能小车这个经典平台时&#xff0c;如何让它像生物一样具备环境感知能力…...

STM32驱动PS2手柄控制智能小车实战(避坑指南+遥控代码解析)

STM32驱动PS2手柄控制智能小车实战&#xff08;避坑指南遥控代码解析&#xff09; 在创客社区和嵌入式开发领域&#xff0c;智能小车一直是验证硬件控制逻辑的理想平台。而将游戏手柄作为控制终端&#xff0c;不仅能让项目更具趣味性&#xff0c;还能深入理解工业级输入设备与嵌…...

ZYNQ平台SGMII光口实战:从Vivado连线、设备树到静态IP设置的完整避坑指南

ZYNQ平台SGMII光口实战&#xff1a;从Vivado连线到静态IP部署的全流程解析 在嵌入式系统开发中&#xff0c;以太网通信的稳定实现往往是项目成功的关键。对于采用Xilinx ZYNQ系列FPGA的开发者而言&#xff0c;SGMII&#xff08;Serial Gigabit Media Independent Interface&…...

淘宝淘金币自动化脚本:每天节省25分钟的数字生活革命

淘宝淘金币自动化脚本&#xff1a;每天节省25分钟的数字生活革命 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本&#xff0c;包含蚂蚁森林收取能量&#xff0c;芭芭农场全任务&#xff0c;解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi 你是否…...

智慧工业控制面板工控部件元器件LCD部件检测数据集VOC+YOLO格式365张8类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数)&#xff1a;365标注数量(xml文件个数)&#xff1a;365标注数量(txt文件个数)&#xff1a;365标注类别数&…...

4种颠覆性组合:重构Pixelle-Video的模块化潜能

4种颠覆性组合&#xff1a;重构Pixelle-Video的模块化潜能 【免费下载链接】Pixelle-Video &#x1f680; AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 想象一下&#xff1a;输入&qu…...

别再死记硬背了!一张图搞懂BST、AVL、红黑树的区别与选型

可视化解析&#xff1a;三大树结构的核心差异与工程实践指南 每次面对技术面试中"为什么Java的TreeMap用红黑树而不用AVL树"这类问题时&#xff0c;你是否会感到一阵心虚&#xff1f;作为曾在多个分布式系统中亲手实现过树结构的工程师&#xff0c;我深刻理解这种困…...

CrapFixer深度解析:为什么这个7年老工具依然是Windows优化的首选

CrapFixer深度解析&#xff1a;为什么这个7年老工具依然是Windows优化的首选 【免费下载链接】Crapfixer Cr*ap Fixer 项目地址: https://gitcode.com/gh_mirrors/cr/Crapfixer 在Windows 11和Windows 10系统中&#xff0c;你是否厌倦了无处不在的广告、烦人的数据收集和…...