@@ -0,0 +1,1621 @@
+public class Solution %7B%0A    public boolean isMatch(String s, String p) %7B%0A        int i = 0;%0A        int j = 0;%0A        int star = -1;%0A        int mark = -1;%0A        while (i %3C s.length()) %7B%0A            if (j %3C p.length()%0A                && (p.charAt(j) == '?' %7C%7C p.charAt(j) == s.charAt(i))) %7B%0A                ++i;%0A                ++j;%0A            %7D else if (j %3C p.length() && p.charAt(j) == '*') %7B%0A                star = j;%0A                j++;%0A                mark = i;%0A            %7D else if (star != -1) %7B%0A                j = star + 1;%0A                i = ++mark;%0A            %7D else %7B%0A                return false;%0A            %7D%0A        %7D%0A        //%E6%9C%80%E5%90%8E%E5%9C%A8%E6%AD%A4%E5%A4%84%E5%A4%84%E7%90%86%E5%A4%9A%E4%BD%99%E7%9A%84%E2%80%98%EF%BC%8A%E2%80%99%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%A4%9A%E4%B8%AA%E2%80%98%EF%BC%8A%E2%80%99%E5%92%8C%E4%B8%80%E4%B8%AA%E2%80%98%EF%BC%8A%E2%80%99%E6%84%8F%E4%B9%89%E7%9B%B8%E5%90%8C%E3%80%82%0A        while (j %3C p.length() && p.charAt(j) == '*') %7B%0A            ++j;%0A        %7D%0A        return j == p.length();%0A    %7D%0A    %0A    %0A    /**%0A     * Time Limit Exceed, when using Recursion.%0A     *%0A     */%0A    public boolean isMatch2(String s, String p) %7B%0A        return matching(s, 0, p, 0);%0A    %7D%0A    %0A    private boolean matching(String s, int si, String p, int pi) %7B%0A        if(si == s.length() && pi == p.length()) return true;%0A        else if(si %3E= s.length() %7C%7C pi %3E= p.length()) return false;%0A        %0A        if(p.charAt(pi) == '?') return matching(s, si+1, p, pi+1);%0A        if(p.charAt(pi) == '*') %7B%0A            for(int x = 1; x + si %3C= s.length() && s.length() - si -x %3E= p.length() - pi - 1; x++) %7B%0A                if(matching(s, si + x, p, pi + 1)) return true;%0A            %7D%0A            return false;%0A        %7D%0A        if(s.charAt(si) == p.charAt(pi)) return matching(s, si+1, p, pi+1);%0A        return false;%0A        %0A    %7D%0A%7D%0A

Create Wildcard_Matching.java