1
1
public class Solution {
2
2
public boolean isMatch (String s , String p ) {
3
3
if (p .length ()==0 ) {
4
- return s .length ()==0 ;
5
- }
4
+ return s .length ()==0 ;
5
+ }
6
6
if (s .length ()==0 ) {
7
- if (p .length ()%2 !=0 ) {
8
- return false ;
9
- }
10
- char [] c =p .toCharArray ();
11
- for (int i = 1 ; i < c .length ; i +=2 ) {
12
- if (c [i ]!=' ;*' ;) {
13
- return false ;
14
- }
15
- }
16
- return true ;
17
- }
7
+ if (p .length ()%2 !=0 ) {
8
+ return false ;
9
+ }
10
+ char [] c =p .toCharArray ();
11
+ for (int i = 1 ; i < c .length ; i +=2 ) {
12
+ if (c [i ]!=' ;*' ;) {
13
+ return false ;
14
+ }
15
+ }
16
+ return true ;
17
+ }
18
18
int pl =p .length ();
19
19
int sl =s .length ();
20
20
String ep =p .substring (pl -1 ,pl );
21
21
if (ep .equals ("*" )) {
22
- if (p .substring (pl -2 ,pl -1 ).equals ("." )) {
23
- for (int i = sl -1 ; i >=0 -1 ; i --) {
24
- if (isMatch (s .substring (0 , i +1 ),p .substring (0 , pl -2 ))) {
25
- return true ;
26
- }
27
- }
28
- return false ;
29
- }else {
30
- String k =p .substring (pl -2 ,pl -1 );
31
- for (int i = sl -1 ; i >=0 ; i --) {
32
- String t =s .substring (i ,i +1 );
33
- if (t .equals (k )) {
34
- if (isMatch (s .substring (0 , i +1 ),p .substring (0 , pl -2 ))) {
35
- return true ;
36
- }
37
- }else {
38
- return isMatch (s .substring (0 , i +1 ),p .substring (0 , pl -2 ));
39
- }
40
- }
41
- return isMatch ("" ,p .substring (0 , pl -2 ));
42
- }
43
- }else if (ep .equals ("." )){
44
- return isMatch (s .substring (0 , sl -1 ),p .substring (0 , pl -1 ));
45
- }else {
46
- String es =s .substring (sl -1 ,sl );
47
- if (ep .equals (es )) {
48
- return isMatch (s .substring (0 , sl -1 ),p .substring (0 , pl -1 ));
49
- }
50
- return false ;
51
- }
22
+ if (p .substring (pl -2 ,pl -1 ).equals ("." )) {
23
+ for (int i = sl -1 ; i >=0 -1 ; i --) {
24
+ if (isMatch (s .substring (0 , i +1 ),p .substring (0 , pl -2 ))) {
25
+ return true ;
26
+ }
27
+ }
28
+ return false ;
29
+ }else {
30
+ String k =p .substring (pl -2 ,pl -1 );
31
+ for (int i = sl -1 ; i >=0 ; i --) {
32
+ String t =s .substring (i ,i +1 );
33
+ if (t .equals (k )) {
34
+ if (isMatch (s .substring (0 , i +1 ),p .substring (0 , pl -2 ))) {
35
+ return true ;
36
+ }
37
+ }else {
38
+ return isMatch (s .substring (0 , i +1 ),p .substring (0 , pl -2 ));
39
+ }
40
+ }
41
+ return isMatch ("" ,p .substring (0 , pl -2 ));
42
+ }
43
+ }else if (ep .equals ("." )){
44
+ return isMatch (s .substring (0 , sl -1 ),p .substring (0 , pl -1 ));
45
+ }else {
46
+ String es =s .substring (sl -1 ,sl );
47
+ if (ep .equals (es )) {
48
+ return isMatch (s .substring (0 , sl -1 ),p .substring (0 , pl -1 ));
49
+ }
50
+ return false ;
51
+ }
52
52
}
53
53
}
0 commit comments