字符串第5/7题--右旋转字符串

题目描述

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

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

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

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

题目链接

卡码网:右旋字符串

思路分析

题目要求根据输入的两行信息来实现字符串的右部分旋转。具体是输入一个正整数k用来控制需要旋转的字符数量,输入一个字符串s用来旋转。

这其实对于python语言来讲是一道非常简单的题目,写两行input函数用来获取键盘输入,然后使用字符串切片操作来进行右旋转,简单的不能再简单。

代码分析

python 复制代码
#获取输入的数字k和字符串
k = int(input())
s = input()

#通过切片反转第一段和第二段字符串
#注意:python中字符串是不可变的,所以也需要额外空间
s = s[len(s)-k:] + s[:len(s)-k]
print(s)
相关推荐
u01092727121 分钟前
C++中的模板方法模式
开发语言·c++·算法
重生之我是Java开发战士28 分钟前
【优选算法】滑动窗口:长度最小的子数组,无重复字符的最长子串,最大连续1的个数,将x减到0的最小操作数,水果成篮,异位词,串联所有单词的子串,最小覆盖子串
算法
naruto_lnq43 分钟前
C++与自动驾驶系统
开发语言·c++·算法
啊阿狸不会拉杆1 小时前
《数字信号处理》第6章:数字滤波器的基本概念及几种特殊滤波器
算法·matlab·信号处理·数字信号处理·dsp
奶茶树1 小时前
【数据结构进阶】AVL树(详解)
数据结构·c++
放荡不羁的野指针1 小时前
leetcode150题-双指针
数据结构·算法·leetcode
好学且牛逼的马1 小时前
【Hot100|15-LeetCode 238. 除自身以外数组的乘积】
数据结构·算法·leetcode
Tisfy1 小时前
LeetCode 3651.带传送的最小路径成本:动态规划
算法·leetcode·动态规划·题解·排序
努力学习的小廉1 小时前
我爱学算法之—— 递归回溯综合(一)
算法·深度优先
m0_736919101 小时前
C++中的策略模式实战
开发语言·c++·算法