题解 | #计算某字符出现次数#
计算某字符出现次数
http://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1
#include #include #include<unordered_map> using namespace std;
int main(void) { unordered_map<char, int>map; string s; char target; int res = 0; getline(cin,s); cin>>target;
if(target - 'a' > 25 && target - 'A' > 25 && target - '0' > 9)res = -1;
for(int i = 0;i < s.size();i++)
{
if(map.find(s[i]) != map.end())map[s[i]]++;
else map[s[i]] = 1;//不加else,上面那行白写。。。
}
res = map[target];
if(target - 'a' <= 25 && target - 'a' >= 0)res = map[target]+map[target-32];
if(target - 'A' <= 25 && target - 'A' >= 0)res = map[target]+map[target+32];//注意不能单纯小于!!锁定范围
cout<<res<<endl;
return 0;
}