LeetCode(剑指 Offer)- 58 - II. 左旋转字符串
Posted 程序员牧码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(剑指 Offer)- 58 - II. 左旋转字符串相关的知识,希望对你有一定的参考价值。
题目链接:点击打开链接
题目大意:略。
解题思路:略。
相关企业
- 字节跳动
AC 代码
- Java
// 解决方案(1)
class Solution
public String reverseLeftWords(String s, int n)
return s.substring(n) + s.substring(0, n);
// 解决方案(2)
class Solution
public String reverseLeftWords(String s, int n)
StringBuilder res = new StringBuilder();
for(int i = n; i < s.length(); i++)
res.append(s.charAt(i));
for(int i = 0; i < n; i++)
res.append(s.charAt(i));
return res.toString();
// 解决方案(3)
class Solution
public String reverseLeftWords(String s, int n)
StringBuilder res = new StringBuilder();
for(int i = n; i < n + s.length(); i++)
res.append(s.charAt(i % s.length()));
return res.toString();
- C++
// 解决方案(1)
class Solution
public:
string reverseLeftWords(string s, int n)
return s.substr(n, s.size()) + s.substr(0, n);
;
// 解决方案(2)
class Solution
public:
string reverseLeftWords(string s, int n)
reverseString(s, 0, n - 1);
reverseString(s, n, s.size() - 1);
reverseString(s, 0, s.size() - 1);
return s;
private:
void reverseString(string& s, int i, int j)
while(i < j) swap(s[i++], s[j--]);
;
// 解决方案(3)
class Solution
public:
string reverseLeftWords(string s, int n)
reverse(s.begin(), s.begin() + n);
reverse(s.begin() + n, s.end());
reverse(s.begin(), s.end());
return s;
;
以上是关于LeetCode(剑指 Offer)- 58 - II. 左旋转字符串的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode(剑指 Offer)- 58 - II. 左旋转字符串
LeetCode(剑指 Offer)- 58 - II. 左旋转字符串
LeetCode剑指 Offer 58 - II. 左旋转字符串(C++)
[LeetCode]剑指 Offer 58 - I. 翻转单词顺序