[問題] 迴圈改遞迴請益

作者: 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