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

26-算法打卡-字符串-右旋字符串-第二十六天

1 题目说明

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

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

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

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


2 解题思路

1、将字符串整体反转:abcdefg ==>>  gfedcba
2、前k个元素反转,剩下的数反转    gfedcba ==>> fdabcde


3 代码编写

public String reverseK(String s, int k) {char[] sArray = s.toCharArray();// 整体反转reverseK(sArray, 0, sArray.length-1);// 前k个元素反转reverseK(sArray, 0, k-1);// 后面的所有元素反转reverseK(sArray, k, sArray.length-1);return String.valueOf(sArray);}public void reverseK(char[] sArray, int left, int right) {while (left < right) {char temp = sArray[left];sArray[left] = sArray[right];sArray[right] = temp;left++;right--;}}

http://www.xdnf.cn/news/93655.html

相关文章:

  • 【每日八股】复习计算机网络 Day4:TCP 协议的其他相关问题
  • 机器学习算法-分类决策树
  • uv run 都做了什么?
  • WSL2-Ubuntu22.04下拉取Docker MongoDB镜像并启动
  • 与Ubuntu相关命令
  • 【Java学习方法】终止循环的关键字
  • 阻塞队列的介绍和简单实现——多线程编程简单案例[多线程编程篇(4)]
  • 第六章:Multi-Backend Configuration
  • VUE的创建
  • 锁存器知识点详解
  • spring,spring boot, spring cloud三者区别
  • [特殊字符]‍[特殊字符]Linux驱动开发入门 | 并发与互斥机制详解
  • Vue.js 之数据绑定
  • UV: Python包和项目管理器(从入门到不放弃教程)
  • uniapp中使用<cover-view>标签
  • 【电机仿真】MPC模型预测转速、电流双闭环控制器——PMSM有感FOC控制
  • Maven 工程中的pom.xml 文件(图文)
  • Cloak斗篷技术:FP 独立站流量增长新引擎
  • 达妙电机CAN通信及实验
  • c++概念——模板的进阶讲解
  • 11.thinkphp的模板
  • 深度解析算法之模拟
  • Mysql之存储过程
  • 华为存储5300V5升级补丁
  • JavaScript ?? 运算符详解
  • 如何简化复杂流程提升执行效率
  • 【算法】双指针8道速通(C++)
  • 提交到Gitee仓库
  • 数据结构与算法(三):线性表算法设计练习
  • 数据结构:顺序表的实现