文章
37
粉丝
1
获赞
81
访问
7.1k
#include<iostream>
#include<string>
using namespace std;
int main() {
int n;
cin >> n;
while (n--) {
string s1, s2;
cin >> s1 >> s2;
bool isMatch = true;
// 第一步:先校验长度,长度不同直接不匹配(关键优化)
if (s1.length() != s2.length()) {
cout << "No" << endl;
continue;
}
// 第二步:统一转为大写(也可以转小写,逻辑一致)
for (int i = 0; i < s1.length(); i++) {
if (s1[i] >= 'a' && s1[i] <= 'z') {
s1[i] -= 32; // 小写转大写,ASCII码减32
}
}
for (int i = 0; i < s2.length(); i++) {
if (s2[i] >= 'a' && s2[i] <= 'z') {
s2[i] -= 32;
}
}
// 第三步:创建标记数组,记录s2的字符是否已被匹配使用
bool used[1000] = {false}; // 数组大小设大一点,适配常规输入长度
int len = s1.length();
// 第四步:双层循环匹配字符
for (int i = 0; i < len; i++) {
...
登录后发布评论
暂无评论,来抢沙发