HJ12 字符串反转

74 阅读1分钟

Problem: HJ12 字符串反转

题目描述

描述

接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)

输入描述:

输入一行,为一个只包含小写字母的字符串。

输出描述:

输出该字符串反转后的字符串。

示例1

输入:abcd
输出:dcba

解题思路

使用StringBuilder

算法流程

  1. 创建一个Scanner对象,用于接收用户的输入。
  2. 使用scanner.nextLine()方法读取用户输入的字符串,并将其赋值给input变量。
  3. 创建一个StringBuilder对象,并将input作为参数传入。
  4. 使用sb.reverse()方法将字符串进行反转。
  5. 使用toString()方法将反转后的字符串转换为String类型,并将其赋值给reversed变量。
  6. 使用System.out.println()方法将反转后的字符串输出到控制台。

代码

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();
        scanner.close();

        StringBuilder sb = new StringBuilder(input);
        String reversed = sb.reverse().toString();

        System.out.println(reversed);
    }
}

复杂度

  • 时间复杂度:

添加时间复杂度, 示例: O(n)O(n)

  • 程序的主要逻辑是使用StringBuilder类的reverse()方法对输入的字符串进行反转。该方法的时间复杂度是O(n),其中n是字符串的长度。因此,整个程序的时间复杂度也是O(n)。
  • 空间复杂度:

添加空间复杂度, 示例: O(n)O(n)

  • 程序创建了一个StringBuilder对象,并将输入字符串作为参数传入。StringBuilder对象的空间复杂度取决于输入字符串的长度,因此空间复杂度是O(n)。