美团点评2020校招后台开发方向笔试题
字符串模式匹配
题目描述:
给出两个字符串,分别是模式串P和目标串T,判断模式串和目标串是否匹配,匹配输出 1,不匹配输出 0。模式串中‘?’可以匹配目标串中的任何字符,模式串中的 ’*’可以匹配目标串中的任何长度的串,模式串的其它字符必须和目标串的字符匹配。例如P=a?b,T=acb,则P 和 T 匹配。
输入描述:
输入第一行包含一个字符串p, (1 ≤ |p| ≤ 20).
输入第二行包含一个字符串t, (1 ≤ |t| ≤ 20).
输出描述:
输出仅包含0和1的整数,0表示p和t不匹配,1表示p和t匹配
例子:
代码:
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
bool isMatch(string s, string p) {
if (p.empty()) {
return s.empty();
}
bool difference = false;
int i = 0;
for (i = 0; i < max(s.length(), p.length()); i++) {