蓝桥杯OJ 算法训练 文章翻转 多种语言解法 C/C++/Python/Java

蓝桥杯OJ 算法训练 文章翻转 多种语言解法 C/C++/Python/Java

  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客亓官劼的博客2

本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!!

博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客亓官劼的博客2
博主更多优质文章可以查看文章目录:博客文章内容导航(实时更新)

题目

资源限制

时间限制:1.0s 内存限制:128.0MB

问题描述

输入一段英文,不含标点,将这一段英文以单词为单位倒序输出

输入格式

一段英文(段内不含换行),以换行符结尾。

输出格式

一段英文(段内不含换行),以换行符结尾。

样例输入

aab TTR bbc loV DDE Znr CCD

样例输出

CCD Znr DDE loV bbc TTR aab

数据规模和约定

60%的数据保证单词长度不超过20,字符长度不超过10^3
  100%的数据保证单词长度不超过105,字符长度不超过106

题解一:C/C++解法

  这题的话题目给的需求很明确,并不复杂的要求。给我们一行字符串,以换行符结束,让我们将这段字符串以单词为单位进行倒序输出。这里面不包含标点,所以就只有以空格来分割我们的单词,但是我们的C++中并没有split函数可以使用,所以我们就得自己进行处理了。对于输入的字符串进行遍历,如果不是空格,则收集起来,如果是空格,且收集的字符串的长度大于0,则我们把收集的字符串就是一个单词,我们把这个单词存放在vector中。全部获取完之后,我们把我们存储单词的vectord倒序输出即可。

完整的题解代码为:

#include <iostream>
#include <vector>
using namespace std;

int main(){
    string store = "";
    getline(cin,store);
    vector<string> word;
    int length = store.length();
    string temp = "";
//    cout<<temp.length();
    for(int i = 0; i < length; i++){
        if(store[i] != ' '){
            temp += store[i];
        } else{
            if(temp.length() > 0){
                word.push_back(temp);
                temp = "";
            }
        }
    }
    if(temp.length() > 0){
        word.push_back(temp);
        temp = "";
    }
    int num = word.size();
    for(int i = num-1; i >= 0; i--){
        cout<<word[i]<<" ";
    }
    return 0;
}

题解二:Python解法

  这题如果我们使用Python来进行解题就非常的简单了,因为Python有自带的split,我们只需要将它拆分,倒序输出即可,不需要我们手动的进行拆分了,所以我们的Python解法非常的简单,仅需4行代码。

完整的代码为:

store = input()
words = store.split(' ')
for word in words[::-1]:
    print(word,end=' ')

题解三:Java解法

  想了想,既然Python都写了,那么Java也顺便写一下解法吧!java也是有split函数的,所以我们时间将字符串以空格为分隔符进行拆开,然后输出即可。

完整代码如下:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String store = scanner.nextLine();
        String words[] = store.split(" ");
        int length = words.length;
        for(int i = length-1; i >= 0; i--)
            System.out.print(words[i]+" ");
    }
}


  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客亓官劼的博客2

本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!!

博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客亓官劼的博客2
博主更多优质文章可以查看文章目录:博客文章内容导航(实时更新)

发布了198 篇原创文章 · 获赞 1784 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/qq_43422111/article/details/105639737
今日推荐