互为变位词

时间:2014-07-24 09:58:53   收藏:0   阅读:176
// 判断两个单词是否互为变位词: 如果两个单词中的字母相同,并且每个字母出现的次数也相同, 那么这两个单词互为变位词

#include <stdio.h>
#include <string.h>

int is_anagram(char *s1, char *s2) // 判断两个数是否互为变位词, 若是返回1
{
    if(strlen(s1) != strlen(s2))
        return 0;

    int count[256] = {0};
    char *p;

    p = s1;
    while( *p != \0 )
        count[*p++] += 1;

    p = s2;
    while( *p != \0 )
        count[*p++] -= 1;

    int i;
    for( i=0; i<256; i++ )
        if( count[i] != 0 ) return 0;

    return 1;
}


int main(void)
{
    char s1[101], s2[101];
    scanf("%s",s1);
    scanf("%s",s2);

    if( is_anagram(s1,s2) )
        printf("Yes\n");
    else
        printf("No\n");

    return 0;
}

互为变位词,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!