isalnum(char(是一种告诉我们给定字符是否为字母数字的方法。这个小函数的时间复杂度是多少?
我写了一个小子程序:
bool check(string s,int i)
{
if((s[i]>='a' && s[i]<='z') ||
(s[i]>='0' && s[i]<='9') ||
(s[i]>='A' && s[i]<='Z'))
{
return true;
}
return false;
}
上面的子程序和isalnum(char(方法一样吗?时间复杂性是否相同?
这些函数不同,因为isalnum
取int
。如果你问他们所做的动作,他们也会有所不同。
isalnum('xdf'), default C locale, returns false
isalnum('xdf'), ISO-8859-1 locale, returns true
check("xdf", 0) always returns false.
两种情况下的时间复杂性相似,O(1(。您的函数可能更快,因为它不使用区域设置。