Problem: HJ12 字符串反转
题目描述
描述
接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
输入描述:
输入一行,为一个只包含小写字母的字符串。
输出描述:
输出该字符串反转后的字符串。
示例1
输入:
abcd
输出:dcba
解题思路
使用StringBuilder
算法流程
- 创建一个
Scanner对象,用于接收用户的输入。- 使用
scanner.nextLine()方法读取用户输入的字符串,并将其赋值给input变量。- 创建一个
StringBuilder对象,并将input作为参数传入。- 使用
sb.reverse()方法将字符串进行反转。- 使用
toString()方法将反转后的字符串转换为String类型,并将其赋值给reversed变量。- 使用
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);
}
}
复杂度
- 时间复杂度:
添加时间复杂度, 示例:
- 程序的主要逻辑是使用StringBuilder类的reverse()方法对输入的字符串进行反转。该方法的时间复杂度是O(n),其中n是字符串的长度。因此,整个程序的时间复杂度也是O(n)。
- 空间复杂度:
添加空间复杂度, 示例:
- 程序创建了一个StringBuilder对象,并将输入字符串作为参数传入。StringBuilder对象的空间复杂度取决于输入字符串的长度,因此空间复杂度是O(n)。