Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. /*
  2. * 机智的秋秋秋
  3. * 「解题思路」首先他俩长度肯定一样哒,然后s1肯定是s2+s2的substring(虽然位置换了 但是顺序没换 把s2变成两倍 肯定没跑儿)
  4. * 「时间复杂度」O(n)
  5. * 「空间复杂度」你猜
  6. * 「其他」
  7. */
  8.  
  9. import java.util.Scanner;
  10.  
  11. public class CheckRotation {
  12. public static void main(String[] args){
  13. Scanner sc1 = new Scanner(System.in);
  14. String str1 = sc1.nextLine();
  15. Scanner sc2 = new Scanner(System.in);
  16. String str2 = sc2.nextLine();
  17. boolean a;
  18. a = IsRotation(str1, str2);
  19. System.out.println(a);
  20.  
  21. }
  22. public static boolean IsRotation(String s1, String s2) {
  23. if(s1.length()!=s2.length()) return false;
  24. return IsSubstring(s1, s2+s2);
  25. }
  26. public static boolean IsSubstring(String s1, String s2){
  27. //可以用String自带的方法污一把ˊ_>ˋ
  28. return s2.contains(s1);
  29. /*以下是不用contains的强行写法……
  30. if(s1.length()>s2.length()) return false;
  31. int k, j;
  32. for(int i = 0; i < s2.length() ; i++){
  33. k = i;
  34. j = 0;
  35. while (s2.charAt(k++) == s1.charAt(j++)) {
  36. if (j == s1.length()) return true;
  37. }
  38. }
  39. return false;*/
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement