题解 | #字符串反转#

字符串反转

https://www.nowcoder.com/practice/e45e078701ab4e4cb49393ae30f1bb04

解题思路

  1. 读取输入的字符串
  2. 反转字符串的方法:
    • 方法1:使用语言内置的字符串反转函数
    • 方法2:手动实现字符串反转
    • 方法3:使用栈结构
  3. 输出反转后的结果
  4. 注意:
    • 字符串长度限制在1000以内
    • 只包含小写字母

代码

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

int main() {
    string str;
    getline(cin, str);
    
    // 方法1:使用algorithm的reverse
    reverse(str.begin(), str.end());
    cout << str << endl;
    
    /* 方法2:手动反转
    string result;
    for(int i = str.length() - 1; i >= 0; i--) {
        result += str[i];
    }
    cout << result << endl;
    */
    
    return 0;
}
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        
        // 方法1:使用StringBuilder
        StringBuilder sb = new StringBuilder(str);
        System.out.println(sb.reverse().toString());
        
        /* 方法2:手动反转
        char[] chars = str.toCharArray();
        for(int i = 0, j = chars.length - 1; i < j; i++, j--) {
            char temp = chars[i];
            chars[i] = chars[j];
            chars[j] = temp;
        }
        System.out.println(new String(chars));
        */
    }
}
# 方法1:使用切片
s = input()
print(s[::-1])

'''
# 方法2:手动反转
s = input()
print(''.join(reversed(s)))

# 方法3:转换为列表反转
s = list(input())
s.reverse()
print(''.join(s))
'''

算法及复杂度

  • 算法:字符串反转
  • 时间复杂度: - 其中n为字符串长度
  • 空间复杂度: - 需要存储反转后的字符串
全部评论

相关推荐

来个大佬救一下,为上投了都是石沉大海了,没实习经历的话怕秋招直接进不了面。什么实习这么难找,基本
心态爆炸了:现在正式的岗位都少,实习基本不咋招的,除了大厂,中小企业其实没那么多岗位需求,就算是有,大多都是招一两个廉价劳动力,同时,他们也会希望你一来就能干活的,没时间培训你,就让你了解公司的项目,你了解完就可以开始干活。再者是,很多低质量的实习其实用处没有那么大的。我去年也是找实习找到破防,最后去了一家深圳的小公司实习,工作对我来说很简单,甚至不如我在学校做的项目,秋招的时候,这段实习经历也并没有帮上什么忙,投递简历,依旧非常低的回复率。低回复率是常态,尤其是找实习,找不到,那就把重心放在优化自己的简历和项目,多看八股文,锻炼自己的面试能力,多看别人的面经,自己模拟面试,等秋招的时候,只要有那么寥寥几次,好好抓住那几次机会。
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务