面试题 01.09. 字符串轮转
解题思路
第一种解法,暴力解法
1.判断字符串长度是否相等,如果不等,return false
2.判断两个字符串是否初始相等,如果相等,return true
3.开始遍历s1,从头到尾,每次遍历String s = s1.substring(i + 1) + s1.substring(0, i + 1);
4.判断s与s2是否相等,如果相等,则return true
5.如果遍历到完s1,依然没有相等的字符串,则return false
解题遇到的问题
无
后续需要总结学习的知识点
1.是否只遍历一次S1,也可以完成,时间和空间复杂度,需要优化
##解法1
class Solution {
public boolean isFlipedString(String s1, String s2) {
if (s1.length() != s2.length()) {
return false;
}
if (s1.equals(s2)) {
return true;
}
for (int i = 0; i < s1.length(); i++) {
String s = s1.substring(i + 1) + s1.substring(0, i + 1);
if (s.equals(s2)) {
return true;
}
}
return false;
}
}
网友评论