题目:
如果一个字符串为str,把str前面任意部分挪到后面形成的字符串叫做str的旋转词。
如 str=’12345′ str 的旋转词有 ‘12345’ ‘23451’ ‘34512’ ‘45123’ ‘51234’。给定两个字符串,判断他们是否互为旋转词。
举例:
a=”cdab” b=”abcd” 返回true
a=”1ab2″ b=”ab12″ 返回false
思路:
把 两个b 字符串拼在一起, String str = b + b,如果str 中包含字符串 a ,就说明字符串 a b 互为旋转词,否则说明两个字符串不互为旋转词。
代码实现:
public static boolean isRotation(String a, String b) {
if (a == null || b == null || a.length() != b.length()) {
return false;
}
String str = b + b;
if (str.contains(a)) {
return true;
} else {
return false;
}
}
(待补充)这里在进行判断过程中可以使用KMP算法解决:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/87948.html