class Solution {
public:
bool checkInclusion(string s1, string s2) {
if (s1.size() > s2.size())
{
return false;
}
int s1map[26] = {
0 };
int s2map[26] = {
0 };
for (int i = 0; i < s1.size();i++)
{
s1map[s1[i] - 'a']++;
s2map[s2[i] - 'a']++;
}
for (int i = 0; i < s2.size() - s1.size();i++)
{
if (matches(s1map, s2map))
{
return true;
}
s2map[s2[i + s1.size()] - 'a']++;
s2map[s2[i] - 'a']--;
}
return matches(s1map, s2map);
}
bool matches(int a[26], int b[26])
{
for (int i = 0; i < 26;i++)
{
if (a[i] != b[i])
{
return false;
}
}
return true;
}
};
LeetCode567. 字符串的排列
猜你喜欢
转载自blog.csdn.net/qq_32862515/article/details/109295568
今日推荐
周排行