hash表的用法!(为晚上的百度电话面试做最后的准备~~)

///
// Find the first char which appears only once in a string
// Input: pString - the string
// Output: the first not repeating char if the string has, otherwise 0
///

char hash(char * str) //对 hash表的用法!非常经典!!!!
{
const int tablesize=256;
unsignedint hashtable [256];
if(!str)
return NULL;
for(int i=0;i<tablesize;i++)
{
hashtable[i]=0;
}
char * p=str;
while(*p!='\0')
hashtable[*(p++)]++; //此语句是核心!!!
p=str;
while(*p!='\0')
if(hashtable[*(p++)]==1)
{
return *(--p);
}
return 0;
}

为了准备晚上的百度电话面试,特意做些题,找找灵感。代码有什么改进的还需大家多多指点啊!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值