Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * 机智的秋秋秋
- * 「解题思路」首先他俩长度肯定一样哒,然后s1肯定是s2+s2的substring(虽然位置换了 但是顺序没换 把s2变成两倍 肯定没跑儿)
- * 「时间复杂度」O(n)
- * 「空间复杂度」你猜
- * 「其他」
- */
- import java.util.Scanner;
- public class CheckRotation {
- public static void main(String[] args){
- Scanner sc1 = new Scanner(System.in);
- String str1 = sc1.nextLine();
- Scanner sc2 = new Scanner(System.in);
- String str2 = sc2.nextLine();
- boolean a;
- a = IsRotation(str1, str2);
- System.out.println(a);
- }
- public static boolean IsRotation(String s1, String s2) {
- if(s1.length()!=s2.length()) return false;
- return IsSubstring(s1, s2+s2);
- }
- public static boolean IsSubstring(String s1, String s2){
- //可以用String自带的方法污一把ˊ_>ˋ
- return s2.contains(s1);
- /*以下是不用contains的强行写法……
- if(s1.length()>s2.length()) return false;
- int k, j;
- for(int i = 0; i < s2.length() ; i++){
- k = i;
- j = 0;
- while (s2.charAt(k++) == s1.charAt(j++)) {
- if (j == s1.length()) return true;
- }
- }
- return false;*/
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement