字符串翻转

来源:互联网 发布:内蒙广电网络登录入口 编辑:程序博客网 时间:2024/05/16 10:20

问题描述:


请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。

给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。

测试样例:

"This is nowcoder"
返回:"redocwon si sihT"

方法一:前后进行交换
import java.util.Scanner;/** * @author huamanxi * 字符串翻转 */public class Test{ public static String reverseString(String iniString) { StringBuilder sb=new StringBuilder(); char[] arr=iniString.toCharArray(); for(int i=0,j=arr.length-1;i<=j;i++,j--){ char temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } for(int i=0;i<arr.length;i++){ sb.append(arr[i]); } return sb.toString(); }  public static void main(String[] args) {Scanner in=new Scanner(System.in);String s=in.nextLine();String result=reverseString(s);System.out.println(result);}}

运行结果:
This is nowcoder
redocwon si sihT

方法二:使用StringBuilder类的自带方法
import java.util.Scanner;/** * @author huamanxi * 字符串翻转 */public class Test{ public static String reverseString(String iniString) {StringBuilder sb=new StringBuilder(iniString);return sb.reverse().toString(); }  public static void main(String[] args) {Scanner in=new Scanner(System.in);String s=in.nextLine();String result=reverseString(s);System.out.println(result);}}



原创粉丝点击