Re: [問題] 迴圈改遞迴請益

看板Programming作者 (Alien)時間6年前 (2018/10/22 10:02), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
概念上就下面這樣 int count(str, c) { if str is empty Return 0 Else { // str 減去第一個 char 的count suffixCount = count(str[1:], c) If str[0] == c Return suffixCount + 1 Else Return suffixCount } 實際實作,str 減去第一個char 可以靠 char ptr: (手機輸入,或有錯字,自己小心) int count(std::string& str, char c) { return count_internal(str.c_str(), c); } int count_internal(const char* s, c) { if (*s == '\0' ) return 0; return count_internal(s+1, c) + (*s == c ? 1:0); } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.130.128.150 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1540173726.A.485.html
文章代碼(AID): #1RpI-UI5 (Programming)
文章代碼(AID): #1RpI-UI5 (Programming)