本代码根据《编译原理》第2版 第3章给出的伪代码改编
#include <vector>
class KMP
{
private:
std::vector<int> m_failArray;
std::string m_pat;
public:
KMP(std::string pat)
{
int M = pat.length();
m_failArray.resize(M);
m_pat = pat;
m_failArray[0] = -1;
int t =