首页 > 试题广场 >

数组逆置

[编程题]数组逆置
  • 热度指数:9111 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
输入一个字符串,长度小于等于200,然后将数组逆置输出。

输入描述:
测试数据有多组,每组输入一个字符串。


输出描述:
对于每组输入,请输出逆置后的结果。
示例1

输入

hdssg

输出

gssdh
import java.util.*;
public class Main{
    /**
     * 反转数组 (数组逆置)
     * 
     * 输入描述:
     * 测试数据有多组,每组输入一个字符串。
     *
     *
     * 输出描述:
     * 对于每组输入,请输出逆置后的结果。
     * @param array
     */
        public static void reverse(char []array){
            int i=0;
            int j=array.length-1;
            while(i<j){
                swap(array,i,j);
                i++;
                j--;
            }
        }
        public static void main(String[]args){
            Scanner sc = new Scanner(System.in);//从控制台接收字符串
            String s = sc.nextLine();
            char[] arr = s.toCharArray();//字符串转数组
            reverse(arr);//反转数组
//            数组转字符串
            StringBuffer sb = new StringBuffer();
            for(char s1: arr){
                sb.append(s1);
            }
            System.out.println(sb.toString());
        }

    /**
     * 交换
     * @param arr
     * @param i
     * @param j
     */
        public static void swap(char []arr,int i,int j){
            char temp=arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
        }
    }

发表于 2020-09-08 19:04:05 回复(0)
Java 解法
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        String s1 = new StringBuilder(s).reverse().toString();
        System.out.println(s1);
    }
}
当然也可以如下一行解决,但没必要
import java.util.Scanner;
public class Main02 {
    public static void main(String[] args) {
        System.out.println(new StringBuilder(new Scanner(System.in).nextLine()).reverse().toString());
    }
}



发表于 2020-03-06 16:01:30 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        String str = new Scanner(System.in).nextLine();
        System.out.print(new StringBuilder(str).reverse());
    }
}

编辑于 2018-08-03 02:42:57 回复(2)
import java.util.Scanner;

/**
 * @author Allen_Hua
 * @create_time 创建时间:May 12, 2018 8:26:57 PM 类说明
 */
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            String str = scan.nextLine();
            StringBuilder sb = new StringBuilder(str);
            System.out.println(sb.reverse().toString());
        }
    }
}
发表于 2018-05-12 20:29:45 回复(0)