牛牛逆序输出

[题目链接](https://www.nowcoder.com/practice/d981181ce18e4cce945fdf52daf037a1)

思路

给定一个正整数 (保证个位数不为 ),将其逆序输出。

做法

由于个位不为 ,逆序后不会出现前导零的问题,因此最简单的做法是将整数作为字符串读入,直接反转后输出。

各语言实现:

  • C++ 中用 std::reverse 原地反转字符串;
  • Java 中用 StringBuilder.reverse()
  • Python 中用切片 [::-1]
  • JavaScript 中用 split('').reverse().join('')

也可以用数学方法,不断取模 得到末位数字并拼接,但字符串方式更简洁。

复杂度分析

的位数为

  • 时间复杂度,反转字符串的开销。
  • 空间复杂度,存储输入字符串。

代码

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main() {
    string s;
    cin >> s;
    reverse(s.begin(), s.end());
    cout << s << endl;
    return 0;
}
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        System.out.println(new StringBuilder(s).reverse().toString());
    }
}
print(input()[::-1])
const readline = require('readline');
const rl = readline.createInterface({ input: process.stdin });
rl.on('line', (line) => {
    console.log(line.trim().split('').reverse().join(''));
});