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]