Sunday, 20 May 2018

Reverse string using different way

import java.util.Scanner;

public class ReverseDemo {

public static void main(String[] args) {
// TODO Auto-generated method stub

Scanner sc = new Scanner(System.in);
System.out.println("Please enter string");
String s = sc.nextLine();

// Simple use charAt method
System.out.print("// Simple use charAt method\n");
for(int i=s.length()-1; i>=0; i--){
System.out.print(s.charAt(i));
}
System.out.println("\n");

// Use charArray
System.out.print("// Use charArray\n");
char ch[] = s.toCharArray();
for(int i=ch.length-1; i>=0; i--)
{
System.out.print(ch[i]);
}
System.out.println("\n");

// Use StringBuilder
System.out.print("// Use StringBuilder and charArray\n");
StringBuilder sb = new StringBuilder();
for(int i=ch.length-1; i>=0; i--)
{
sb.append(ch[i]);
}
System.out.print(""+sb.toString());

System.out.println("\n");

// Use StringBuilder and reverse method
System.out.print("// Use StringBuilder and reverse method\n");
StringBuilder sbr = new StringBuilder(s);
String str = sbr.reverse().toString();
System.out.print(str);

System.out.println("\n");

// Reverse using recursion no inbuilt method
System.out.print("// Reverse using recursion no inbuilt method\n");
char str1[] = null;
str1 = s.toCharArray();
int size = str1.length;
reverse(str1, 0, size - 1);
System.out.print(str1);
}

public static void reverse(char str[], int stringIndex, int stringSize){

char temp;

temp = str[stringIndex];
str[stringIndex] = str[stringSize - stringIndex];
str[stringSize - stringIndex] = temp;

if (stringIndex == stringSize / 2)
{
return;
}

// Use recursion
reverse(str, stringIndex + 1, stringSize);
}
}

Output:


No comments:

Post a Comment