当前位置: 首页> 娱乐> 影视 > 手机版wordpress_小制作 简单 步骤_百度总部客服电话_黄页网站推广服务

手机版wordpress_小制作 简单 步骤_百度总部客服电话_黄页网站推广服务

时间:2025/7/15 11:54:15来源:https://blog.csdn.net/weixin_74837455/article/details/143453962 浏览次数:0次
手机版wordpress_小制作 简单 步骤_百度总部客服电话_黄页网站推广服务

💵个人主页: 起名字真南
💵个人专栏:【数据结构初阶】 【C语言】 【C++】 【OJ题解】

请添加图片描述

题目要求:给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

题目链接: 反转字符串中的所有单词

反转字符串中每个单词的字符顺序

题目描述

给定一个字符串 s,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

示例

  • 输入:s = "Let's take LeetCode contest"

  • 输出:"s'teL ekat edoCteeL tsetnoc"

  • 输入:s = "Mr Ding"

  • 输出:"rM gniD"

解题思路

  1. 识别单词

    • 首先需要遍历字符串,找到每个单词的起始和结束位置。单词由字母组成,空格用来分隔单词。
  2. 反转单词

    • 对于每个找到的单词,利用字符串反转的功能,将单词的字符顺序进行反转。
  3. 构建结果

    • 在保持原有空格和单词顺序的基础上,将反转后的单词拼接成最终的结果字符串。
  4. 边界处理

    • 需要考虑多个空格的情况,确保反转后的字符串仍然保留原始的空格格式。

具体实现步骤

  1. 使用 stringstream 或直接遍历字符串来识别单词。
  2. 将每个单词反转,并存储在一个结果字符串中。
  3. 将结果字符串中的单词拼接在一起,并保持空格的原始位置。

C++ 示例代码

以下是根据上述思路实现的 C++ 代码:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;class Solution {
public:string reverseWords(string s) {stringstream ss(s);string word;string result;while (ss >> word) { // 逐个读取单词reverse(word.begin(), word.end()); // 反转单词result += word + " "; // 拼接反转后的单词}if (!result.empty()) {result.pop_back(); // 移除最后多余的空格}return result;}
};int main() {Solution solution;string s = "Let's take LeetCode contest";string result = solution.reverseWords(s);cout << result << endl; // 输出: "s'teL ekat edoCteeL tsetnoc"return 0;
}

代码解析

  • stringstream:用于便捷地读取字符串中的单词。
  • reverse:C++ STL 提供的反转功能,用于反转单个单词。
  • 结果拼接:将反转后的单词拼接到结果字符串中,并在每个单词后加上空格,最后再移除多余的空格。

总结

这个算法的时间复杂度为 O(n),其中 n 是字符串 s 的长度。通过这种方式,我们不仅实现了题目的要求,还保持了原始字符串的结构与格式。

关键字:手机版wordpress_小制作 简单 步骤_百度总部客服电话_黄页网站推广服务

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: