【算法学习】剑指 Offer 58 - II. 左旋转字符串(java / c / c++ / python / go / rust)

二当家的白帽子 2021-10-27 00:35:54
学习 offer 算法 法学 ii.

非常感谢你阅读本文~
欢迎【点赞】【收藏】【评论】~
放弃不难,但坚持一定很酷~
希望我们大家都能每天进步一点点~
本文由 二当家的白帽子 https://le-yi.blog.csdn.net/ 博客原创~



剑指 Offer 58 - II. 左旋转字符串:

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

样例 1

输入:
s = "abcdefg", k = 2
输出:
"cdefgab"

样例 2

输入:
s = "lrloseumgh", k = 6
输出:
"umghlrlose"

提示

  • 1 <= k < s.length <= 10000

分析

  • 左移,可以理解为前面的到了尾部。
  • 也可以理解为后面的到了头部。
  • 所以就是后半部分拼上前半部分。

题解

java

class Solution {

public String reverseLeftWords(String s, int n) {

return s.substring(n) + s.substring(0, n);
}
}

c

char* reverseLeftWords(char* s, int n){

int len = strlen(s),i = 0;;
char *ans = malloc(sizeof(char) * (len + 1));
while(i < len){

*(ans++) = s[(n + i++)%len];
}
*ans= '\0';
return ans - len;
}

c++

class Solution {

public:
string reverseLeftWords(string s, int n) {

return s.substr(n, s.length() - n) + s.substr(0, n);
}
};

python

class Solution:
def reverseLeftWords(self, s: str, n: int) -> str:
return s[n:] + s[:n]

go

func reverseLeftWords(s string, n int) string {

return s[n:] + s[:n]
}

rust

impl Solution {
pub fn reverse_left_words(s: String, n: i32) -> String {
(&s[n as usize..]).to_string() + &s[..n as usize]
}
}

在这里插入图片描述


原题传送门:https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/


版权声明
本文为[二当家的白帽子]所创,转载请带上原文链接,感谢
https://le-yi.blog.csdn.net/article/details/120592670

  1. 用python实现千图成像工具,快给你的男/女神弄一张吧~
  2. python csv中dwlimiter用不了,有没有大咖能解释一下
  3. 新手学Python要打好哪些基础?从软件安装到全面基础讲解,就它了!
  4. Python中字符串子串的输出
  5. python判断是否一个序列是超增序列
  6. Python爬虫框架的读取和创建
  7. python对数据框中两列进行判断, 得到新的列的
  8. Python做一个模仿文本进度条的编程
  9. python 中使用MS SQL问题 怎样解决
  10. python有没有类似传送门功能的代码,,就是比如这边运行完然后输入一些指令然后可以跳转到程序里的某个地方
  11. Python基操教学!不会?(熟能生巧)
  12. python画图,有没有初学者的代码
  13. 朋友股票亏惨了,我一怒用Python爬取了证券最新数据
  14. 被称之为永远的神!就这6个Python爬虫开源项目?
  15. python Qtreeview 如何选择子行,选择第一行下面的行数
  16. Python随机生成100个1~200之间的不重复数字
  17. 关于#python#的问题,请各位专家解答!
  18. Python编写程序先输入一组10个元素,再输入数组中比平均值小的所有奇数
  19. Ubuntu终端下安装Python需要import的库
  20. 为什么下载pandas和xlwings运行不了,出现No system module pywintypes(系统查不到pywin32具体位置)(又不能重新下载pywin32)
  21. python求带我脱离苦海,哎_
  22. Python 数据分析里面轴的问题
  23. python初学者,请问使用openpyxl库读取文件后出现图片中的报错要怎么解决?
  24. 大学毕业论文写有关python
  25. 授人以鱼吧友友python编写程序自动计算个人总分平均分各科最高最低平均分
  26. python怎么将四行代码换成一行啊
  27. 用Python如何编写啊 真不会啊?
  28. 这个布尔变化怎么做啊(Python
  29. PYTHON求集合交集需要用户手动输入集合名
  30. Python运行哈姆雷特词频统计时出错(如图),是哪方面的问题?
  31. 【Python表白代码合集】”我还是很喜欢你,像风走了八千里,不问归期”!!
  32. python实现学生信息管理系统(含代码)
  33. wxpython中如何按键停止死循环?
  34. python 类的问题?不懂这种方法的作用?不是继承那是什么作用?
  35. Python 题目不会写 求帮助!
  36. Python,turtle制图,要求使用for,while编写
  37. Python题目不会 求帮助! 谢谢您!
  38. Python题目不会!求帮助!
  39. Python这个看不太懂,,大神们帮个忙
  40. 安装拓展库pandas失败怎么解决
  41. python将字符串转成特定列表格式
  42. Python做一个保护手机号编程
  43. 用Spyder运行Python爬虫时仅输出“runfile(xx), wdir=xx”
  44. 使用Python对一组数据进行分段拟合,如何处理断点处的左右倒数相等
  45. Python输出符合条件的文件的路径名
  46. Python中pandas怎么实现分组去重统计和求和
  47. python xpath 爬虫,请帮帮我吧!
  48. python 用泰勒公式近似计算sinx的值 求解代码中哪里出现了错误
  49. Python语法2
  50. python如何将输出的各行数字对齐
  51. 使用 Python 进行数据可视化之Matplotlib
  52. python新鲜题 老公们 救救孩子
  53. 如何用python解答 要如何着手
  54. 请问Python正则表达式如何在多个文本中匹配出关键字
  55. Python 三天打鱼两天晒网问题
  56. mac安装python3
  57. 請問python要怎麼印数字倒等腰三角形
  58. 【算法学习】807. 保持城市天际线(java / c / c++ / python / go / rust)
  59. 【算法学习】1512. 好数对的数目(java / c / c++ / python / go / rust)
  60. 【算法学习】剑指 Offer 64. 求1+2+…+n(java / c / c++ / python / go / rust)