EMC Interview Question
Software Engineer in TestsTeam: RSA
Country: India
Interview Type: Written Test
public static String reverseStringWithRecursion(String initStr){
char[] out=new char[initStr.length()];
reverse(initStr.toCharArray(), out,0,out.length-1);
return new String(out);
}
private static void reverse(char[] array,char[] out,int startIndex,int outIndex){
if(startIndex==array.length) return;
reverse(array, out, startIndex+1, outIndex-1);
out[outIndex]=array[startIndex];
}
public class StringReverseRecursion {
public static void main(String[] args) {
System.out.println(reverseString("ORACLE"));
}
public static String reverseString(String s){
char [] out=new char[s.length()];
reverse(s, out, 0, s.length()-1);
return new String(out);
}
public static void reverse(String input, char[] out, int startIndex, int outIndex){
if(startIndex==input.length())
return;
reverse(input, out, startIndex+1, outIndex-1);
out[outIndex]=input.charAt(startIndex);
}
}
{{
#include "stdio.h"
#include "string.h"
int reverse(char * name, int len, int cur) {
printf("%s\n", name);
if(cur > len/2) return 0;
char c;
c = name[len-cur];
name[len-cur] = name[cur];
name[cur] = c;
printf("%s\n", name);
reverse(name, len, cur+1);
}
int main(int argc, char const *argv[])
{
char name[100];
char *n = "samana srikanth";
strncpy(name, n, strlen(n));
name[strlen(n)+1] = '\0';
reverse(name, strlen(name) - 1, 0);
return 0;
}
}}
#include "stdio.h"
#include "string.h"
int reverse(char * name, int len, int cur) {
printf("%s\n", name);
if(cur > len/2) return 0;
char c;
c = name[len-cur];
name[len-cur] = name[cur];
name[cur] = c;
printf("%s\n", name);
reverse(name, len, cur+1);
}
int main(int argc, char const *argv[])
{
char name[100];
char *n = "samana srikanth";
strncpy(name, n, strlen(n));
name[strlen(n)+1] = '\0';
reverse(name, strlen(name) - 1, 0);
return 0;
}
Reverse(String str)
- Rishi June 03, 2012{
if(str.length()==1)
return str;
return Reverse(str.substring(1,str.length()))+str.substring(0,1);
}