給定兩個字串 str_1 和 str_2。目標是使用遞歸過程計算字串 str1 中子字串 str2 的出現次數。
遞歸函數是在其定義中呼叫自身的函數。
如果str1 是"I know that you know that i know",str2 是"know"
出現次數為- 3
##讓我們透過範例來理解。
例如
輸入str1 = "TPisTPareTPamTP", str2 = "TP";
Count of occurrences of a substring recursively are: 4
The substring TP occurs 4 times in str1.
str1 = "HiHOwAReyouHiHi" str2 = "Hi"
Count of occurrences of a substring recursively are: 3
The substring Hi occurs 3 times in str1.
#在下面程式中使用的方法如下 -
在這種方法中,我們將使用java 中的contains() 方法搜尋str2 在str1 中的出現。如果str2存在於str1中,則傳回true。如果為 true,請使用 java 中的 ReplaceFirst() 方法將其替換為“”,然後將返回值加 1 以增加計數,從而從 str1 中刪除第一個匹配項。public class recursive{ public static void main(String args[]){ String str1 = "TPisTPareTPamTP", str2 = "TP"; System.out.println("Count of occurrences of a substring recursively are: "+subsrting_rec(str1, str2)); } static int subsrting_rec(String str, String sub){ if (str.contains(sub)){ return 1 + subsrting_rec(str.replaceFirst(sub, ""), sub); } return 0; } }#輸出如果我們執行上面的程式碼,它將產生以下輸出-
Count of occurrences of a substring recursively are: 4
以上是在Java中遞歸地計算子字串出現的次數的詳細內容。更多資訊請關注PHP中文網其他相關文章!