字符串面试题(四)— 判断一个字符串是否为另外一个字符串旋转之后的字符串

简介: 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如: 给定s1 = AABCD和s2 = BCDAA,返回1, 给定s1=abcd和s2=ACBD,返回0。

判断一个字符串是否为另外一个字符串旋转之后的字符串。
例如: 给定s1 = AABCD和s2 = BCDAA,返回1,
给定s1=abcd和s2=ACBD,返回0。
AABCD左旋一个字符得到ABCDA
AABCD左旋两个字符得到BCDAA
AABCD右旋一个字符得到DAABC
AABCD右旋两个字符得到CDAAB


思路:根据左旋或右旋结果和原字符串的联系,可以将一个给定的字符串拷贝一份放在该字符串的后面得到新的字符串,只需要判断另一个字符串是不是组合的新字符串的子字符串就可以解决问题。

例如:给定的一个字符串为ABCDE,经过拷贝后的字符串为ABCDEABCDE,观察这个字符串,能够发现给定的字符串ABCDE经过左、右旋的所有情况为字符串ABCDEABCDE的子串。

相关文章
|
2月前
|
机器学习/深度学习 人工智能 算法
LeetCode刷题--- 面试题 01.07. 旋转矩阵(原地旋转+翻转替旋转)
LeetCode刷题--- 面试题 01.07. 旋转矩阵(原地旋转+翻转替旋转)
|
5月前
剑指Offer LeetCode 面试题11. 旋转数组的最小数字
剑指Offer LeetCode 面试题11. 旋转数组的最小数字
23 0
|
11月前
剑指Offer - 面试题11:旋转数组的最小数字
剑指Offer - 面试题11:旋转数组的最小数字
48 0
|
算法
经典算法面试题目-判断s2是否是s1的旋转字符串(1.8)
经典算法面试题目-判断s2是否是s1的旋转字符串(1.8)
121 0
|
算法
面试:查找旋转数组的最小数字
在算法面试中,面试官总是喜欢围绕链表、排序、二叉树、二分查找来做文章,而大多数人都可以跟着专业的书籍来做到倒背如流。而面试官并不希望招收的是一位记忆功底很好,但不会活学活用的程序员。
1083 0
|
算法 Java
面试:Java 实现查找旋转数组的最小数字
在算法面试中,面试官总是喜欢围绕链表、排序、二叉树、二分查找来做文章,而大多数人都可以跟着专业的书籍来做到倒背如流。而面试官并不希望招收的是一位记忆功底很好,但不会活学活用的程序员。
1193 0