public class MyClass {
public static String ReverseStringWithoutTemporaryVariable(String str) {
int start = 0, end = str.length() - 1;
char arr[] = str.toCharArray();
while(start < end) {
arr[start] ^= arr[end]; // XOR used to swap two variables
arr[end] ^= arr[start];
arr[start] ^= arr[end];
end--;
start++;
}
return new String(arr);
}
public static void main(String args[]) {
String str = "c++ java c";
str = ReverseStringWithoutTemporaryVariable(str);
System.out.print(str);
}
}
/*
run:
c avaj ++c
*/