java 旋转词

2016-11-25  本文已影响23人  chenxuxu

题目:
如果一个字符串 str,把字符串 str 前面任意的部分挪到后面形成的字符串叫做 str 的旋转词。比如 str="12345",str 的旋转词有 "12345"、"23451"、"34512"、"45123"、和 "51234"。给定两个字符串 a 和 b,请判断 a 和 b 是否互为旋转词。

    /**
     * 旋转词
     * 
     * 
     * @author chenjunxu
     *
     */
    public class Main {
        public static void main(String[] args) {
            String str1 = "1234";
            String str2 = "2341";
            // 获取结果
            boolean result = isRotatingWord(str1, str2);
            System.out.println(result);
        }

        /**
         * 判断两个字符串是否互为旋转词
         * 
         * @param str1
         * @param str2
         * @return
         */
        private static boolean isRotatingWord(String str1, String str2) {
            // 如果任一字符串为null或者两者长度不同,则不可能为旋转词
            if (str1 == null || str2 == null || str1.length() != str2.length()) {
                return false;
            }
            // 拼接字符串
            String str = str1 + str1;
            // 查找拼接后的字符串是否包含另外一个字符串
            return str.contains(str2);
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读