快速判断两个字符串是不是兄弟串(两个字符串中的字符相同)
题目:如果两个字符串中的所有的字符及字符的个数都相同,则称这两个字符串为兄弟串。
要求:给出一种算法判定两个字符串是不是兄弟串。
思路一: 对两个字符串中的字符按字典序排序,然后比较这两个字符串是否相同。时间复杂度O(nlog(n) ).
思路二:用一个各个字符的哈希表,统计各个字符出现的次数,然后对每个字符的统计频率进行比较。时间复杂度:O(n)。
思路三:能够快速判断两字符串不是兄弟串:
1. 两个字符串的长度不等, strlen().
2. 若长度相等,对每个字符串的字符分别逐个异或(xor),分别生成连个特征数,两个特征数若不等,则两个字符串不是兄弟串。
思路四: 将思路二、三结合。