class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param S string字符串 * @param T string字符串 * @return string字符串 */ string minWindow(string S, string T) { // write code here // 双重遍历 string str = ""; // 起始位置 for(int i=0; i<S.size(); ++i) { // 剪枝 if(T.find(S[i])!=string::npos) { string temp = T; for(int j=i; j<S.size(); ++j) { // 这个要在判断 temp.empty() 之前 if(temp.find(S[j])!=string::npos) temp.erase(temp.find(S[j]),1); if(temp.empty()) { if(str.empty() || str.size()> j-i+1) str = S.substr(i,j-i+1); cout << j << ", " << i << endl; break; } } } } return str; } };