Skip to content

Commit 3f33728

Browse files
author
harshbhardwaj
committed
Finding palindromic substrings using recursion
1 parent e9655e1 commit 3f33728

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package com.practise;
2+
3+
import java.util.HashSet;
4+
import java.util.Set;
5+
6+
public class FindPalindromes {
7+
8+
public static boolean isPalindrome(String string, int start, int end){
9+
final StringBuffer buffer = new StringBuffer(string);
10+
return buffer.toString().equals(buffer.reverse().toString());
11+
12+
}
13+
14+
15+
public static void operateString(String mainString, int start, int end, Set<String> palindromes){
16+
String parseString = mainString.substring(start,end+1);
17+
if(FindPalindromes.isPalindrome(parseString, start, end)){
18+
palindromes.add(parseString);
19+
}
20+
if(start < end){
21+
operateString(mainString , start , end -1, palindromes);
22+
operateString(mainString , start +1 , end, palindromes);
23+
}
24+
}
25+
26+
27+
public static void main(String[] args) {
28+
String string = "bababa";
29+
final Set<String> palindromes = new HashSet<>();
30+
FindPalindromes.operateString(string, 0, string.length() -1, palindromes);
31+
System.out.println(palindromes);
32+
}
33+
}
34+

0 commit comments

Comments
 (0)