判断两个字符串中出现的字符是否完全一样(顺序可以不同)
2014-08-19 13:36
661 查看
假设两个字符串中所含有的字符和个数都相同我们就叫这两个字符串匹配,
比如:abcda和adabc,由于出现的字符个数都是相同,只是顺序不同,
所以这两个字符串是匹配的。
算法时间复杂度:O(n)
空间复杂度:四字节
bool compareTwoStr(char *str1,char *str2){//利用自己与自己异或为0
if(str1==NULL&&str1==NULL) return true;
if(str1==NULL||str1==NULL) return false;
int tem = str1[0];
int i=1;
while(str1[i]!='\0'){tem^=(int)str1[i++];}//获取字符的ASCII码
i=0;
while(str2[i]!='\0'){tem^=(int)str2[i++];}
if(tem==0) return true;
return false;
}
比如:abcda和adabc,由于出现的字符个数都是相同,只是顺序不同,
所以这两个字符串是匹配的。
算法时间复杂度:O(n)
空间复杂度:四字节
bool compareTwoStr(char *str1,char *str2){//利用自己与自己异或为0
if(str1==NULL&&str1==NULL) return true;
if(str1==NULL||str1==NULL) return false;
int tem = str1[0];
int i=1;
while(str1[i]!='\0'){tem^=(int)str1[i++];}//获取字符的ASCII码
i=0;
while(str2[i]!='\0'){tem^=(int)str2[i++];}
if(tem==0) return true;
return false;
}
相关文章推荐
- go判断两个字符串是否是是相互打乱的,也就是说它们有着相同的字符,但 是对应不同的顺序。
- 编写一个函数,判断两个字符串是否是是相互打乱的,也就是说它们有着相同的字符,但是对应不同的顺序。
- 比较两个数组元素是否相同,顺序可以不同,维数必须一样
- 从零开始学习算法(Java实现)~~~~之字符串篇~~~判断两个字符串是否是颠倒字母顺序构成的
- LeetCode242_Valid Anagram(判断两个字符串是不是由完全一样字符组成) Java题解
- 假设两个字符串中所含有的字符和个数都相同我们就叫这两个字符串匹配, 比如:abcda和adabc,由于出现的字符个数都是相同,只是顺序不同, 所以这两个字符串是匹配的。要求高效!
- 比较两个等长字符串是否含有完全相同字符(忽略字符顺序)
- 1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1
- 判断字符串中的字符是否完全不同
- 函数: 判断两个字符串是否完全一样
- C#下比较两个等长字符串是否含有完全相同字符(忽略字符顺序)
- asp.net下比较两个等长字符串是否含有完全相同字符(忽略字符顺序)
- 判断两个字符串所含字符是否完全相等
- Algorithm backup ---- Compare occurences of each character of two strings(比较两个字符串每个字符出现频率是否一样)
- 算法:字符串处理-判断两个字符串是否互为“形变词”(判断两字符串中字符种类和出现次数是否均相同)
- 1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 2.判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1
- 比较两个等长字符串是否含有完全相同字符(忽略字符顺序)
- Arrays_Strings 判断两个字符串是否有相同的字符 @CareerCup
- [google面试CTCI] 1-4.判断两个字符串是否由相同字符组成