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

import java.util.Scanner;
/**

  • @description TODO 请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。
  • @date 2019/2/25 下午5:28
    **/
    public class Test {
    public static void main(String []args){
    System.out.print("请输入字符串: ");
    Scanner sr1=new Scanner(System.in);
    String i1=sr1.nextLine();//键盘接收字符串
    System.out.println("您输入的字符串为: "+i1);
    int n=i1.length();
    char[] ch =i1.toCharArray();
    for(int i=0;i<n/2;i++)
    {swap(ch,i,n-1-i);}
    String str1=new String(ch);
    System.out.println("翻转后的字符串: "+str1);
    }
    public static void swap(char[] x, int a, int b) {
    char t = x[a];
    x[a] = x[b];
    x[b] = t;
    }
    // public static void main(String []args){
    // System.out.print("请输入字符串: ");
    // Scanner sr1=new Scanner(System.in);
    // String str1=sr1.nextLine();//键盘接收字符串
    // System.out.println("您输入的字符串为: "+str1);
    // int n=str1.length();
    // if(n<=1||str1==null)
    // System.out.println("翻转后的字符串: "+str1);
    // else{
    // StringBuffer sb=new StringBuffer();
    // for(int i=n-1;i>=0;i--)
    // sb.append(str1.charAt(i));
    // System.out.println("翻转后的字符串: "+sb.toString());}
    // }
    }
原文地址:https://www.cnblogs.com/zhangke306shdx/p/11074891.html