有两个长度相同的字符串,均由字母A-Z构成,长度不超过100。请判断是否可以把其中一个字符串的各个字母重排,然后对26个字母做一个一一映射,使得两个字符串相同。 如JWPUDJSTVP重排后可以得到WJDUPSJPVT,然后把每个字母映射到它前一个字母(B->A, C->B, ..., Z->Y, A->Z),得到VICTORIOUS。 输入 两个字符串,以空格分隔。 输出 若可以请输出YES,否则输出NO。 示例输入 ABBCFEA CCGGHJB 示例输出 YES
时间: 2024-01-24 20:18:38 浏览: 25
计算字符串长度 和 判断两个字符串是否相同
这道题可以先判断两个字符串是否长度相等,若不相等直接输出NO。然后可以将两个字符串中各个字母出现的次数统计出来,比较它们是否相同,若不同则说明不能重排成相同的字符串,输出NO。最后考虑映射的问题,可以将其中一个字符串重排后,再将它与另一个字符串比较,看它们是否可以通过一一映射变成相同的字符串。具体实现可以用哈希表来统计每个字母出现的次数,也可以直接用数组来记录。代码如下:
阅读全文