确定两串乱序同构
Posted 寄蜉蝣于天地,渺沧海之一粟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了确定两串乱序同构相关的知识,希望对你有一定的参考价值。
来源:http://www.nowcoder.com/questionTerminal/164929d4acd04de5b0ee2d93047b3b20
题目描述
给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,
能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格。
给定一个string stringA和一个string stringB,请返回一个bool,代表两串是
否重新排列后可相同。保证两串的长度都小于等于5000。
测试样例:
"This is nowcoder","is This nowcoder"
返回:true
"Here you are","Are you here"
返回:false
思路说明:
这个题目描述里面“且考虑字符串重点空格”的意义描述不是很明确。
根据牛客网网友讨论和实际提交代码检测结果,感觉不像是要比较单词,而是直接比较字符。
毕竟是要把一个字符串strA调整字符顺序使得该字符串变得与字符串strB相等,所以关键不在于字符的顺序,而是字符出现的次数。
也就是说:假如strA与strB里面各个字符出现的次数对应相等,那么一定可以将strA变为strB。
所以统计strA中各个字符出现的次数并记录在countA[256]中,
然后统计strB各字符出现次数并记录在countB[256]中,
接着扫描countA[]和countB[],若是countA[i]==countB[i],i∈[0,255],则返回true,否则返回false。
以上是关于确定两串乱序同构的主要内容,如果未能解决你的问题,请参考以下文章