44. Wildcard Matching

44. Wildcard Matching(通配符匹配)

参考资料

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 public boolean isMatch(String s, String p) {
int i=0,j=0,iStar=-1,jStar=-1,pLen=p.length(),sLen=s.length();

while(i<sLen) {
if(j<pLen&&(s.charAt(i)==p.charAt(j)||p.charAt(j)=='?')) {
i++;
j++;
}else if(j<pLen&&p.charAt(j)=='*'){
iStar = i;
jStar = j++;
}else if(jStar>=0){
i = ++iStar;
j = jStar+1;
}else {
return false;
}
}
while(j<pLen&&p.charAt(j)=='*')j++;
return j==pLen;
}

[8, 2,4,4,4,9,5,2,5, 8,8,0,8,6,9, 1,1,6,3,5,1,2,6,6, 0,4,8,6,0,3 ,2,8,7,6,5 ,1,7,0,3,4, 8,3,5,9 ,0,4,0,1,0,5,9,2,0,7,0,2,1,0,8,2,5,1,2,3,9,7,4,7,0,0,1,8,5,6,7,5,1,9,9,3,5,0,7,5]

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×