判断两个字符串是否互为旋转词

导读:本篇文章讲解 判断两个字符串是否互为旋转词,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

题目:

如果一个字符串为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

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!