链接
题解
首先判断字符串是否为空字符串,若为空字符串则无论怎样旋转返回值都是空字符串
然后在确保字符串不为空的情况下,判断要旋转的字符个数,将大于字符串长度的数进行取模,最后达到的旋转字符数必然小于字符串长度
之后用substring
函数解决问题即可
代码
class Solution {
public String reverseLeftWords(String s, int n)
{
if (s.length() == 0)
{
return "";
}
//输入数字大于等于字符串长度,则进行取模
while (n >= s.length())
{
n -= s.length();
}
//n %= s.length();
//0 则不用旋转,直接返回字符串 s
if (0 == n)
{
return s;
}
String temp = s.substring(n);
String t = s.substring(0, n);
return temp + t;
}
}
class Solution {
public String reverseLeftWords(String s, int n)
{
if (s.length() == 0)
{
return "";
}
//输入数字大于等于字符串长度,则进行取模
// while (n >= s.length())
// {
// n -= s.length();
// }
n %= s.length();
//0 则不用旋转,直接返回字符串 s
if (0 == n)
{
return s;
}
StringBuilder temp = new StringBuilder();
StringBuilder t = new StringBuilder();
for (int i = 0; i < n; i++)
{
t.append(s.charAt(i));
}
for (int i = n; i < s.length(); i++)
{
temp.append(s.charAt(i));
}
return temp.toString() + t;
}
}