剑指offer之面试题35第一次只出现一次的字符

来源:互联网 发布:网络电话软件排行 编辑:程序博客网 时间:2024/05/18 02:36

问题描述

在字符串中找到第一个只出现一次的字符。

例如:

输入"abaccdeff",则输出'b'。

实现代码如下:

#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <limits.h>#include<String.h>char find(char *ch,int n){int hashTable[256]={0};int i;for(i=0;i<n;i++){int positoin= ch[i]%256;hashTable[positoin]++;}for(i=0;i<256;i++){if(hashTable[i]==1){return i;}}return ' ';}int main(int argc, char *argv[]){char ch[]="qazwsxqz";int n = strlen(ch);char c = find(ch,n);printf("%c\n",c);return 0;}

上面算法的时间复杂度为O(n)。

参考资料
剑指offer

备注
转载请注明出处:http://blog.csdn.net/wsyw126/article/details/51383831
作者:WSYW126

0 0
原创粉丝点击