题目:
给你⼀个字符串 s 和⼀个字符 letter ,返回在 s 中等于 letter 字符所占的 百分⽐ ,向下 取整到最接近的百分⽐。
• ⽰例 1: 输⼊:s = foobar, letter = o
输出:33
解释: 等于字⺟ o 的字符在 s 中占到的百分⽐是 2 / 6 * 100% = 33% ,向下取整,所以返回 33 。
算法思路:
-
定义⼀个变量 cnt ,并初始化为0;
-
遍历字符串数组,当⽬标字符出现时 cnt++ ;
-
返回 cnt 与⻓度的百分⽐值。
cpp
int percentageLetter(char* s, char letter) {
int cnt = 0;
int len = strlen(s);
//字符串指针⾸先指向字符串第⼀位(下标为0)字符
//当字符串指针不指向空时进⼊循环,字符串的最后⼀位必然为空字符('/0')
while (*s) {
//如果字符串指针当前指向的字符与⽬标字符相等则记录次数
if (letter == *s) {
cnt++;
}
//字符串指针指向后⼀位
s++;
}
//题⽬要求返回百分⽐,因此结果需要与100相乘
return cnt * 100 / len;
}