C语言题目,有什么好的方法?

在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。

阅读 3.7k
2 个回答
for (i = 0; i < n ; i++) {
    cnt[str[i] - 'a']++;
}

for (i = 0; i < n; i++) {
    if (cnt[str[i] - 'a'] == 1) {
        print ...
        break;
    }
}

细节楼主自己处理下,譬如大小写或者包含非英文字符

ps: 建议楼主问问题时候,简单说下自己目前思路,不然就跟要作业答案一样

  1. 定义一个链表,读入字符;

  2. 检查该字符有没有读入过;

    a. 有,则将该字符从链表除去;

    b. 没有,则加入。

  3. 读完,链表第一个元素即为第一个只出现一次的字符。

只讲思路,不给代码。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进