[问题] 循环改递回请益

楼主: RicciYeh (RicciYeh)   2018-09-28 22:52:32
小弟第一次发文,若有违反版规的,请鞭小力点,谢谢。
小弟的题目,是寻找一个字串中,某个字母的出现次数
循环版本相当简单,我还应付得来,程式码如下:
int countI(string s, char c)
{
int length = s.size(), cnt = 0;
for (int i = 0; i < length; i++)
if (s[i] == c)
cnt++;
return cnt;
}
但递回的版本,我真的是一点头绪也没有
int countR(string s, char c)
{
int length = s.size();
if(s[length] == c)
return 1 + countR(s, c);
}
我原本是这样写,可是有一个很大的问题是 length 的值都一样阿
每函式重进去一次,就会重新呼叫 length = s.size();
请求各位大神给点方向,感恩。

Links booklink

Contact Us: admin [ a t ] ucptt.com