【编程题目 |100分】按索引范围翻转文章片段【2021 考试题】


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

【按索引范围翻转文章片段】

输入一个英文文章片段,翻转指定区间的单词顺序,标点符号和普通字母一样处理。例如输入字符串”I am a developer. “,区间[0,3],则输出”developer. a am I”。

String reverseWords(String s, int start, int end)

输入描述

使用换行隔开三个参数,第一个参数为英文文章内容即英文字符串,第二个参数为翻转起始单词下标(下标从0开始),第三个参数为结束单词下标。

输出描述

翻转后的英文文章片段所有单词之间以一个半角空格分隔进行输出。

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

I am a developer.

1

2

输出

I a am developer.

示例2 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

hello world!

0

1

输出

world! hello

说明

输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。

示例3 输入输出示例仅供调试,后台判题数据一般不包含示例


代码实现


C++


#include<bits/stdc++.h>

using namespace std;
vector<int> nums;
vector<string> strings;

void getstrings(const string &str, char ch) 
{
    const string &path = str;
    stringstream is(path);
    string tmp;
    while (getline(is, tmp, ch)) {
        strings.push_back(tmp);
    }
}

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python解法一


剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python解法二


剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看