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

来源:互联网 发布:变化怎样发生 知乎 编辑:程序博客网 时间:2024/05/19 18:16

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


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

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

0 0
原创粉丝点击