卡码55. 右旋字符串

字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。

例如,对于输入字符串 "abcdefg" 和整数 2,函数应该将其转换为 "fgabcde"。

输入:输入共包含两行,第一行为一个正整数 k,代表右旋转的位数。第二行为字符串 s,代表需要旋转的字符串。

输出:输出共一行,为进行了右旋转操作后的字符串。

思路:

先把字符串整体倒序,这样,现在的前面k个字符就是之前的后k个字符,现在的后(n-k)个字符就是之前的前(n-k)个字符。

然后,我们再分别把现在的前k个和后(n-k)个字符顺序反过来,它们的顺序就回到之前那样了。

但是python可以有更简单的方法,直接切片。

#获取输入的数字k和字符串
k = int(input())
s = input()#通过切片反转第一段和第二段字符串
#注意:python中字符串是不可变的,所以也需要额外空间
s = s[len(s)-k:] + s[:len(s)-k]
print(s)

注意,如果k大于s的长度,python的切片操作会自动处理这种情况,不会出现错误(输出就是原来的s)

讲解:

s[len(s)-k:]表示的是,从位置len(s)-k开始,也就是从倒数第k个位置开始,一直到s的末尾。

s[:len(s)-k]表示的是,从s的头开始,一直到len(s)-k-1个元素的位置。

把这两个部分连接起来,就是右旋之后的字符串了。

注意:python中字符串是不可变的,所以需要额外的空间。

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

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

相关文章

电商核心技术揭秘52:数字化内容营销创新

相关系列文章 电商技术揭秘相关系列文章合集(1) 电商技术揭秘相关系列文章合集(2) 电商技术揭秘相关系列文章合集(3) 电商技术揭秘四十一:电商平台的营销系统浅析 电商技术揭秘四十二&#…

【C++】继承 — 继承的引入、赋值切片详细讲解

前言 我们知道C语言是一门面向对象编程的语言,而面向对象编程有三大特性,它们分别是: 封装继承多态 目录 1. 继承的概念及定义1.1继承的概念1.2继承的定义格式1.3 继承的使用 2 基类和派生类对象赋值转换3 继承中的作用域3.1 派生类对象的存…

Linux下安装snaphu

1、官网下载安装包 2、解压,移动文件夹到/usr/local/下 3、在/usr/local/下创建man,在man下创建man1文件夹 4、进入到snaphu的src文件夹里,执行sudo make,如果报错 在这个 Makefile 中,-arch x86_64 是 macOS 特定的…

【Linux】-Linux用户和权限[3]

一、认知root用户 1、root用户(超级管理员) 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中,拥有最大权限的账户为:root(超级管理员) root用户拥有最大的系统操作权限…

Android MediaCodec 简明教程(七):使用 MediaCodec 解码到 OES 纹理上

系列文章目录 Android MediaCodec 简明教程(一):使用 MediaCodecList 查询 Codec 信息,并创建 MediaCodec 编解码器Android MediaCodec 简明教程(二):使用 MediaCodecInfo.CodecCapabilities 查…

【qt】QString字符串

前言: 这节很轻松,大家可以放心食用 ♪(・ω・)ノ QString目录 一.与cString的区别二.隐式共享三.初始化四.判断是否为空串五.字符串的长度六.添加字符串1.尾加2.任意位置加 七.替换字符串八.修改字符串九.删除字符串1.清…

【C语言项目】贪吃蛇(上)

个人主页 ~ gitee仓库~ 欢迎大家来到C语言系列的最后一个篇章–贪吃蛇游戏的实现,当我们实现了贪吃蛇之后,我们的C语言就算是登堂入室了,基本会使用了,当然,想要更加熟练地使用还需要多多练习 贪吃蛇 一、目标二、需要…

(八)JSP教程——application对象

application对象是一个比较重要的对象,服务器在启动后就会产生这个application对象,所有连接到服务器的客户端application对象都是相同的,所有的客户端共享这个内置的application对象,直到服务器关闭为止。 可以使用application对…

MGRE 实验

需求:1、R2为ISP,其上只能配置IP地址。 2、R1-R2之间为HDLC封装 3、R2-R3之间为ppp封装,pap认证,R2为主认证方。 4、R2-R4之间为ppp封装,chap认证,R2为主认证方。 5、R1、R2、R3构建MGRE环境&#xff0…

sourceTree push失败

新电脑选择commit and push,报错了,不过commit成功,只不过push失败了。 原因是这个,PuTTYs cache and carry on connecting. 这里的ssh选择的是 PuTTY/Plink,本地没有这个ssh密钥,改换成openSSH&#xff…

DEV--C++小游戏(吃星星(0.1))

目录 吃星星&#xff08;0.1&#xff09; 简介 头文件 命名空间变量 副函数 清屏函数 打印地图函数 移动函数 主函数 0.1版完整代码 吃星星&#xff08;0.1&#xff09; 注&#xff1a;版本<1为未实现或只实现部分 简介 用wasd去吃‘*’ 头文件 #include<bi…

各种索引地址

直接索引&#xff0c;一级间接索引&#xff0c;二级间接索引 【软考】解析直接地址索引和间接地址索引_直接地址索引和一级地址索引-CSDN博客 系统架构设计师真题解析&#xff08;1&#xff09;—— 文件系统物理结构_文件系统采用索引节点管理-CSDN博客 磁盘块&#xff0c…

Windows电脑搭建HarmonyOS NEXTDeveloper Preview2环境详解

Windows电脑搭建HarmonyOS NEXTDeveloper Preview2环境详解&#xff1a; HarmonyOS NEXT Preview系列教程基于Api11讲解-IT营大地老师 1 、电脑要求以及注意事项 操作系统 &#xff1a; Windows10 64 位、 Windows11 64 位 内存 &#xff1a; 8GB 及以上&#xff0c;推荐 16G…

AI中LangChain原理以及快速上手

AI中LangChain原理以及快速上手 什么是LangChain&#xff1f; LangChain是一种基于语言模型的自然语言处理技术&#xff0c;它可以将自然语言转换为向量表示&#xff0c;从而实现对自然语言的理解和处理。LangChain的核心思想是将自然语言中的每个单词或短语映射到一个高维向…

新火种AI|AI让大家都变“土”了!

作者&#xff1a;一号 编辑&#xff1a;美美 AI不仅要把人变“土”&#xff0c;还要把人变多样。 这个世界&#xff0c;终究是变“土”了。 今年五一假期&#xff0c;一个名为“Remini”的AI修图APP火遍了全网。注意&#xff0c;是Remini&#xff0c;而不是Redmi&#xff0…

Redis学习汇总

目录 1.Linux环境下安装redis 2.redis的数据结构及命令 3.redis.conf配置文件常用配置 3.redis的事务操作 4.redis实现乐观锁 5.通过jedis操作redis 6.Springboot集成redis 7.自定义一个RedisTemplate 8.持久化策略 RDB和AOF 9.redis集群环境搭建 10.哨兵模式 11.缓…

java集合中retainAll方法使用注意

java集合中retainAll方法使用注意 retainAll新的改变 retainAll retainAll()方法被用来找出两个集合的共同元素&#xff0c;并且只会在交集不为空的情况下返回true。通过比较操作前后集合的大小是否有变化&#xff0c;我们可以确定是否存在共同元素。 retainAl()方法会改变原集…

ES:基础查询语法(简单易懂)

一、基础查询语句的结构&#xff1a; GET http://ip:prot/textbook/_search GET { "query" : { ...query子句... }, "aggs" : { ..aggs子句.. }, "sort" : { ..sort子句.. } "from" : 0, // 返回搜索结果的开始位置 &…

解锁自动化办公新技能:Python实战应用-自动转发邮件到企业微信

&#x1f4e7; 【高效联络&#xff0c;信息不落空】 &#x1f4e7; 在这个信息爆炸的时代&#xff0c;作为企业的一员&#xff0c;我们如何从繁杂的邮件中迅速筛选出客户的心声、展会的新动向&#xff0c;同时又不遗漏每一份重要的咨询呢&#xff1f;秘诀就在我们的新策略里&a…

Springboot监听ConfigMap配置文件自动更新配置

背景&#xff1a; 最近调研使用k8s的ConfigMap来作为springboot项目的配置中心&#xff0c;需要实现热更新机制&#xff0c;避免pod重启影响业务。 ConfigMap作为挂载卷使用的时候可以更新pod中的配置内容&#xff0c;但是业务应用需要能监听并处理这些变更。我在测试的时候已…