首页 > 试题广场 >

单组_二维字符数组

[编程题]单组_二维字符数组
  • 热度指数:10337 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个 nm 列的二维字符数组 a ,第 i 行第 j 列元素的值为 a_{i,j}
请你对行和列都倒置,然后输出之。

输入描述:
第一行有两个整数 n\ (\ 1 \leq n \leq 10^3\ )m\ (\ 1 \leq m \leq 10^3\ )
随后 n 行,每行有 m 个字符,仅包含小写英文字符 。


输出描述:
输出一个二维字符数组。
示例1

输入

3 4
abcd
efgh
ijkl

输出

lkji
hgfe
dcba
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        in.nextInt();
        in.nextLine();
        StringBuilder res = new StringBuilder();
        for(int i = 0;i<n;i++) {
            String str = in.nextLine();
            StringBuilder sb = new StringBuilder(str);
            String tmp = sb.reverse().append("\n").toString();
            res.insert(0,tmp);
        }
        System.out.println(res.toString());
    }
}


发表于 2025-06-23 15:33:22 回复(0)

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        //n行
        int n = in.nextInt();
        //m列
        int m = in.nextInt();
        ArrayList<StringBuilder> array = new ArrayList<StringBuilder>();
        int i = 0;
        while (i++ < n) {
            StringBuilder s = new StringBuilder(in.next());
            //列反转,并添加到集合
            array.add(s.reverse());
        }
        //行反转
        Collections.reverse(array);
        for(StringBuilder s : array){
            System.out.println(s);
        }
    }
}
发表于 2024-09-26 17:03:34 回复(0)