牛牛逆序输出
[题目链接](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(''));
});

京公网安备 11010502036488号