File tree 4 files changed +24
-60
lines changed
lcci/01.09.String Rotation
4 files changed +24
-60
lines changed Original file line number Diff line number Diff line change 39
39
40
40
<!-- tabs:start -->
41
41
42
+ ### ** Python3**
43
+
44
+ ``` python
45
+ class Solution :
46
+ def isFlipedString (self , s1 : str , s2 : str ) -> bool :
47
+ return len (s1) == len (s2) and s1 in (s2 * 2 )
48
+ ```
49
+
42
50
### ** Java**
43
51
<!-- 这里可写当前语言的特殊实现逻辑 -->
44
52
45
53
``` java
46
54
class Solution {
47
55
public boolean isFlipedString (String s1 , String s2 ) {
48
- int len1 = s1. length(), len2 = s2. length();
49
- if (len1 != len2) {
50
- return false ;
51
- }
52
- if ((len1 == 0 && len2 == 0 ) || (s1. equals(s2))) {
53
- return true ;
54
- }
55
-
56
- for (int i = 0 ; i < len1; ++ i) {
57
- s1 = flip(s1);
58
- if (s1. equals(s2)) {
59
- return true ;
60
- }
61
- }
62
- return false ;
63
-
64
- }
65
-
66
- private String flip (String s ) {
67
- return s. substring(1 ) + s. charAt(0 );
56
+ return s1. length() == s2. length() && (s2 + s2). indexOf(s1) != - 1 ;
68
57
}
69
58
}
70
59
```
Original file line number Diff line number Diff line change 52
52
53
53
## Solutions
54
54
55
+ <!-- tabs:start -->
56
+
57
+ ### ** Python3**
58
+
59
+ ``` python
60
+ class Solution :
61
+ def isFlipedString (self , s1 : str , s2 : str ) -> bool :
62
+ return len (s1) == len (s2) and s1 in (s2 * 2 )
63
+ ```
64
+
55
65
### ** Java**
56
66
57
67
``` java
58
68
class Solution {
59
69
public boolean isFlipedString (String s1 , String s2 ) {
60
- int len1 = s1. length(), len2 = s2. length();
61
- if (len1 != len2) {
62
- return false ;
63
- }
64
- if ((len1 == 0 && len2 == 0 ) || (s1. equals(s2))) {
65
- return true ;
66
- }
67
-
68
- for (int i = 0 ; i < len1; ++ i) {
69
- s1 = flip(s1);
70
- if (s1. equals(s2)) {
71
- return true ;
72
- }
73
- }
74
- return false ;
75
-
76
- }
77
-
78
- private String flip (String s ) {
79
- return s. substring(1 ) + s. charAt(0 );
70
+ return s1. length() == s2. length() && (s2 + s2). indexOf(s1) != - 1 ;
80
71
}
81
72
}
82
73
```
Original file line number Diff line number Diff line change 1
1
class Solution {
2
2
public boolean isFlipedString (String s1 , String s2 ) {
3
- int len1 = s1 .length (), len2 = s2 .length ();
4
- if (len1 != len2 ) {
5
- return false ;
6
- }
7
- if ((len1 == 0 && len2 == 0 ) || (s1 .equals (s2 ))) {
8
- return true ;
9
- }
10
-
11
- for (int i = 0 ; i < len1 ; ++i ) {
12
- s1 = flip (s1 );
13
- if (s1 .equals (s2 )) {
14
- return true ;
15
- }
16
- }
17
- return false ;
18
-
19
- }
20
-
21
- private String flip (String s ) {
22
- return s .substring (1 ) + s .charAt (0 );
3
+ return s1 .length () == s2 .length () && (s2 + s2 ).indexOf (s1 ) != -1 ;
23
4
}
24
5
}
Original file line number Diff line number Diff line change
1
+ class Solution :
2
+ def isFlipedString (self , s1 : str , s2 : str ) -> bool :
3
+ return len (s1 ) == len (s2 ) and s1 in (s2 * 2 )
You can’t perform that action at this time.
0 commit comments