#include <stdio.h>
struct word
{
unsigned char ucWord[51];
struct word *pNext;
};
/*获取字符串长度*/
unsigned int MyStrLen(const char* p)
{
if(NULL == p)
return 0;
unsigned int len = 0;
while('\0'!=*p++)
len++;
return len;
}
/* 字符串比较函数
* =0,单词相等;>0,str1在str2之后;<0,str1在str2之前;-26,参数错误
*/
int MyStrCmp(const char *str1,const char *str2)
{
if(NULL == str1 || NULL == str2 || *str1 == '\0' || *str2 == '\0')
return -26;
while((*str1 == *str2 )&& *str1)
{
str1++;
str2++;
};
if( *str1 > *str2 )
return 1;
else if(*str1 < *str2 )
return -1;
else
return 0;
}
/*兄弟单词判断*/
bool IsBrotherWord(const char* word1,const char* word2)
{
if(NULL==word1||NULL==word2)
return false;
if(MyStrLen(word1) != MyStrLen(word2))
return false;
if(0 == MyStrCmp(word1,word2))
return false;
int AlphaCnt1[26]={0};
int AlphaCnt2[26]={0};
while('\0'!=*word1&&'\0'!=*word2)
{
AlphaCnt1[(*word1++)-97]++;
AlphaCnt2[(*word2++)-97]++;
}
for(int i=0;i<26;i++)
{
if(AlphaCnt1[i] != AlphaCnt2[i])
return false;
}
return true;
}
void main()
{
//char str[]="ILOVEYOU";
//int len = MyStrLen(str);
//printf("len=%d\n",len);
//printf("MyStrCmp rt=%d\n",MyStrCmp("ll",""));
bool bFlag = IsBrotherWord("love","vole");
printf("bFlag = %d\n",bFlag);
getchar();
}兄弟单词
最新推荐文章于 2024-11-07 09:38:01 发布
935

被折叠的 条评论
为什么被折叠?



