-
Notifications
You must be signed in to change notification settings - Fork 0
/
replacePi2.java
31 lines (31 loc) · 1006 Bytes
/
replacePi2.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Recursion2{
public static String replaceChar(String s,char a,char b){
if(s.length()==0){
return s;
}
String smallOutput=replaceChar(s.substring(1),a,b);
if(s.charAt(0)==a){
return b+smallOutput;
}else{
return s.charAt(0)+smallOutput;
}
}
public static String replacePi(String s){
if(s.length()<=1){
return s;
}
if(s.charAt(0)=='p' && s.charAt(1)=='i'){
//Call recursion on string of length n-2;
String smallOutput=replacePi(s.substring(2));
return "3.14"+smallOutput;
}else{
//call recursion on string of length n-1;
String smallOutput=replacePi(s.substring(1));
return s.charAt(0)+smallOutput;
}
}
public static void main(String[] args){
//System.out.println(replaceChar("abcxdxex",'x','y'));
System.out.println(replacePi("apiapipipiip"));
}
}