字符串hash是指将一个字符串s映射为一个整数,使得该整数尽可能唯一地代表字符串s。
涉及知识:进制转换、秦九韶算法。
假设字符串仅包含大写字母,范围A-Z。将A-Z看作0-25的26进制数,再转换为我们需要的10进制数。
// 字符串仅含大写字母,将字符串转换为整数
int hashFunc(const char *s, int length)
{
int id = 0;
for(int i=0; i<length; ++i)
{
id = id*26 + s[i] - 'A';
}
return id;
}