剑指Offer:第一个只出现一次的字符

题目:在字符串中找出第一个只出现一次的字符。如输入"abaccdeff",这输出'b'

// 第一个只出现一次的字符

#include <stdio.h>

char first_not_repeat_char(char *s)
{
    int count[256]={0};
    char *pkey;

    if( s==NULL )
    {
        printf("The string should not be NULL\n");
        return '\0';
    }

    for(pkey=s; *pkey != '\0'; pkey++)
        count[*pkey]++;
    for(pkey=s; *pkey != '\0'; pkey++)
        if( count[*pkey] == 1 )
            return *pkey;

    return '\0';
}

int main(void)
{
    char s[1001];
    printf("Please input a string: ");
    scanf("%s",s);
    char first = first_not_repeat_char(s);
    if(first != '\0')
        printf("First not repeat char is: %c\n",first);
    else
        printf("Not found\n");
    char *p=0;

    return 0;
}
posted on 2014-07-24 01:01  DayByDay  阅读(218)  评论(0编辑  收藏  举报