文章目录
题目描述
难度:简单
算法实现
class Solution {
public boolean rotateString(String s, String goal) {
char[] chars = s.toCharArray();
int charsLen = chars.length;
int count = 0;
while(count<chars.length){
StringBuffer buffer = new StringBuffer();
for(int i =count;i<charsLen+count;++i){
buffer.append(chars[i%charsLen]);
}
if(buffer.toString().equals(goal)){
return true;
}
count++;
}
return false;
}
}
/*
[2022年04月07日00时38分20秒_]
开始构思
================
[2022年04月07日01时00分15秒_]思路1:
s旋转若干次,是否能变成goal。
若干次是否有个上限次数?
分析:上限次数是s的字符串长度,因为超过了就变成了轮转,没有意义,还浪费时间性能。
等值判断?
分析:是等值判断
================
[2022年04月07日01时00分34秒_]编码完成,测试了
================
[2022年04月07日01时01分05秒_]ok,通过了
================
[2022年04月07日01时03分14秒_]在编码过程中,本题的关键在于取模 % 的运算,取模具有轮转性质。
================
*/