CSDN话题挑战赛第2期
参赛话题:算法题解
题目链接与描述
https://leetcode.cn/problems/string-rotation-lcci/
字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。
示例1:
输入:s1 = “waterbottle”, s2 = “erbottlewat”
输出:True
示例2:
输入:s1 = “aa”, s2 = “aba”
输出:False
提示:
字符串长度在[0, 100000]范围内。
说明:
你能只调用一次检查子串的方法吗?
关键词:拼接 匹配 kmp 算法
方法一:
运行截图
代码
public boolean isFlipedString(String s1, String s2) {
if(s1.length()!=s2.length()){
return false;
}
s1 += s1;
return s1.contains(s2);
}
结尾小结
21天能够形成一个习惯,从7号开始开始坚持刷题,已经23天了。
这里做个简单回顾总结:
- 第一天的图的节点通路dfs、bfs,顺便复习一下图的相关概念
- 第二天的模拟题,重新排列单词间的空格
- 第三天快慢指针,重新分组数字
- 第四天也是归纳题,优美队列
- 第五天,动态规划,最长定差数列
- 第六天,修建二叉树,回顾树的遍历
- 第七天,打工人,k人最低成本题
- 第八天,二分查找,数组特征值
- 第九天,贪心算法,最大交换
- 第十一天,真值表,找规律,灯泡开关
- 第十二天,第一次接触扫描线,覆盖面积
- 第十三天,滑动窗口,hash表,相同字符间最长字串
- 第十五天,矩阵,hash表,人工岛
- 第十六天,剪枝,递归,求k个相等子集
- 第十八天,也是hash表,是否能连成数组
- 第二十天,三种方式、异或、求和、原地hash,求消失两位数
- 第二十一天,hash表、重排序,字符重排
欢迎评论区交流,每日打卡,冲冲冲!!!