字符串翻转
请实现一个算法,翻转一个给定的字符串.
测试样例:
“This is nowcoder”
返回:"redocwon si sihT"
代码实现(三种解法)
public class ReverseString
{
//解法1:递归实现字符串翻转
static String reverse1(String s) {
if (s.length()<=1) return s;
String rs=reverse1(s.substring(1))+s.charAt(0);
//substring(int beginIndex)用于返回一个新字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。
return rs;
}
//解法2:
public static String reverse2(String str) {
int len=str.length();
char[] charArr=new char[len];
for (int i = 0; i <len; i++)
{
charArr[i]=str.charAt(len-1-i);
}
return new String(charArr);
}
//解法3
public static String reverse3(String str)
{
StringBuffer sb = new StringBuffer(str);
return sb.reverse().toString();
}
public static void main(String[] args)
{
System.out.println("解法1 :"+reverse1("abcdef"));
System.out.println("解法2 :"+reverse1("abcdef"));
System.out.println("解法3 :"+reverse3("abcdef"));
}
}