题意整理。

  • 输入一个整数。
  • 以字符串形式逆序输出。

方法一(逆序遍历)

1.解题思路

  • 首先将输入的整数转化为字符串。
  • 逆序遍历字符串的每一位,并输出。

图解展示: alt

2.代码实现

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        //先转化为字符串
        String s=String.valueOf(n);
        //再逆序遍历,并输出
        for(int i=s.length()-1;i>=0;i--){
            System.out.print(s.charAt(i));
        }
    }
}

3.复杂度分析

  • 时间复杂度:假设输入整数为n,转化为字符串之后,对应长度为常数级别,所以时间复杂度为O(1)O(1)
  • 空间复杂度:不需要额外的空间,所以空间复杂度为O(1)O(1)

方法二(反转)

1.解题思路

  • 定义可变字符串res,将输入整数加入到res。
  • 反转res之后,再以字符串形式输出。

2.代码实现

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        StringBuilder res=new StringBuilder();
        //添加到StringBuilder
        res.append(n);
        //反转之后,再以字符串形式输出
        System.out.println(res.reverse().toString());
    }
}

3.复杂度分析

  • 时间复杂度:假设输入整数为n,转化为字符串之后,对应长度为常数级别,所以时间复杂度为O(1)O(1)
  • 空间复杂度:需要额外常数级别的空间,所以空间复杂度为O(1)O(1)