美文网首页
查找第一个只出现一次的字符

查找第一个只出现一次的字符

作者: 小码弟 | 来源:发表于2018-10-07 16:33 被阅读0次

    如何找出字符串中第一个只出现一次的字符

    两个思路:1,hash,�不同编译器对字符数据的处理不一样,所以hash之前先把字符类型转成无符号类型;2,空间换时间,用buffer数组记录当前只找到一次的字符,避免二次遍历。

    # define SIZE 256
    char GetChar(char str[])
    {
      if(!str)
        return 0;
      char* p = NULL;
      unsigned count[SIZE] = {0};
      char buffer[SIZE];
      char* q = buffer;
      for(p=str; *p!=0; p++)
      {
        if(++count[(unsigned char)*p] == 1)
          *q++ = *p;
      }
      
      for (p=buffer; p<q; p++)
      {
        if(count[(unsigned char)*p] == 1)
        return *p;
      }
    return 0;
    }
    

    相关文章

      网友评论

          本文标题:查找第一个只出现一次的字符

          本文链接:https://www.haomeiwen.com/subject/rnblaftx.html