[C++] Concise DP
cpp\nbool isMatch(string s, string p) {\n\tvector<vector<int>> memo(p.size() + 1, vector<int>(s.size() + 1));\n\tmemo[0][0] = 1;\n\tfor(int i = 1; i <= p.size()
```cpp\nbool isMatch(string s, string p) {\n\tvector<vector<int>> memo(p.size() + 1, vector<int>(s.size() + 1));\n\tmemo[0][0] = 1;\n\tfor(int i = 1; i <= p.size(); i++)\n\t\tmemo[i][0] = p[i - 1] == \'*\' && memo[i - 1][0];\n\n\tfor(int i = 1; i <= p.size(); i++) {\n\t\tfor(int j = 1; j <= s.size(); j++) {\n\t\t\tif(p[i - 1] == \'*\')\n\t\t\t\tmemo[i][j] = memo[i - 1][j] || memo[i][j - 1];\n\t\t\telse if(p[i - 1] == \'?\' || p[i - 1] == s[j - 1])\n\t\t\t\tmemo[i][j] = memo[i - 1][j - 1];\n\t\t}\n\t}\n\n\treturn memo.back().back();\n}\n```
['C', 'C++']