Write a function that takes a string as input and returns the string reversed.
Example:
Given s = “hello”, return “olleh”.
public class ResverseString { public static String reverseString(String s) { if(s == null || s.length() < 2) return s; char[] ch = s.toCharArray(); int i = 0; int j = s.length() - 1; while (i < j) { char c = ch[i]; ch[i] = ch[j]; ch[j] = c; i++; j--; } return new String(ch); } public static String reverseStringB(String s) { return new StringBuilder(s).reverse().toString(); } /** * bit manipulation * @param s * @return */ public static String reverseStringC(String s) { byte[] bytes = s.getBytes(); int i = 0; int j = s.length() - 1; while(i < j) { bytes[i] = (byte) (bytes[i] ^ bytes[j]); bytes[j] = (byte) (bytes[i] ^ bytes[j]); //bytes[i] ^ bytes[j] ^ bytes[j] = bytes[i]; bytes[i] = (byte) (bytes[i] ^ bytes[j]); //bytes[i] ^ bytes[j] ^ bytes[i] = bytes[j]; i++; j--; } return new String(bytes); } public static String reverseStringD(String s) { int len = s.length(); if(len <= 1) return s; String leftStr = s.substring(0, len / 2); String rightStr = s.substring(len / 2, len); return reverseString(rightStr) + reverseString(leftStr); } public static void main(String[] args) { String s = "hello"; System.out.println(reverseString(s)); System.out.println(reverseStringB(s)); System.out.println(reverseStringC(s)); System.out.println(reverseStringD(s)); } }