Adobe Interview Question
Quality Assurance EngineersCountry: United States
Interview Type: In-Person
Here is an in-place solution:
public class ReverseString {
public static String reverseMyString(String inputString)
{
if(inputString==null)
return inputString;
char[] inputArray=inputString.toCharArray();
int start=0;
int end=inputArray.length-1;
while(start<end)
{
inputArray[start]=(char) (inputArray[start]^inputArray[end]);
inputArray[end]=(char) (inputArray[start]^inputArray[end]);
inputArray[start]=(char) (inputArray[start]^inputArray[end]);
start++;
end--;
}
return new String(inputArray);
}
public static void main(String[] args)
{
System.out.println(reverseMyString("vaibhav"));
}
}
Efficiency suggestions are invited. :)
public class Reverse {
public static void main(String args[]) throws IOException {
String chr;
InputStreamReader r = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(r);
System.out.println("Enter your String: ");
chr = br.readLine();
String reverse = "";
int len = chr.length();
for (int i = len - 1; i > -1; i--) {
reverse = reverse + chr.charAt(i);
}
System.out.println("Reversed String is:\t" + reverse);
}}
import java.text.ParseException;
import java.util.Scanner;
public class ReverseString {
public static void main(String[] args) throws ParseException {
Scanner input = new Scanner(System.in);
String string = input.nextLine();
ReverseString ob = new ReverseString();
System.out.println("The reverse of " + string + " is :" + ob.reverseString(string));
}
public String reverseString(String str) {
char[] ch = str.toCharArray();
StringBuilder s = new StringBuilder();
for (int i = ch.length - 1; i >= 0; i--) {
s.append(ch[i]);
}
return s.toString();
}
}
import java.text.ParseException;
import java.util.Scanner;
public class ReverseString {
public static void main(String[] args) throws ParseException {
Scanner input = new Scanner(System.in);
String string = input.nextLine();
ReverseString ob = new ReverseString();
System.out.println("The reverse of " + string + " is :" + ob.reverseString(string));
}
public String reverseString(String str) {
char[] ch = str.toCharArray();
StringBuilder s = new StringBuilder();
for (int i = ch.length - 1; i >= 0; i--) {
s.append(ch[i]);
}
return s.toString();
}
}
- Aresh April 23, 2013