这是一个很常见的笔试题目。
给出我的解法:
算法思路:
该算法需要一个bool值,用来防止word被重复计算,flag初始值为假。
遍历该字符串,
如果字符为字母或数字(组成单词的一部分),如果flag为假,则结果加1,并将flag变成真。
如果字符串为分隔符,则把flag设为假。
//判断是否为分隔符
bool IsSeperator(char c)
{
switch(c)
{
case ' ':
return true;
break;
case ',':
return true;
break;
case '!':
return true;
break;
case '?':
return true;
break;
case '.':
return true;
break;
case '/"':
return true;
break;
case '/n':
return true;
break;
case '/t':
return tr