557. Reverse Words in a String III

本文介绍了一种特殊的字符串操作方法,即在保持原有单词顺序不变的情况下,对每个单词内部的字符进行反转。通过C++代码实现这一功能,展示了如何使用push_back和append函数处理字符串,并保留原有的空格布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.

Example 1:
Input: “Let’s take LeetCode contest”
Output: “s’teL ekat edoCteeL tsetnoc”
这道题学到的东西有string也可以用push_back函数,同时还有append函数的复习。先去除空格,然后把单个单词放在temp里面,然后再转置过来放在temp2中,然后将temp2加入ss中,同时注意每加一个单词要在单词后面补充空格,注意细节的补充完整。
代码如下:

class Solution {
public:
    string reverseWords(string s) {
        int i=0;
        string ss;
        while(i<s.size()){
            string temp="\0";
            if(i<s.size()&&s[i]==' ')
            i++;
            if(i>=s.size())break;
            if(ss.size()>0){
                ss+=" ";
            }
            for(;i<s.size()&&s[i]!=' ';i++){
                temp.push_back(s[i]);
            }
            string temp2="\0";
            for(int i=temp.size()-1;i>=0;i--){
                temp2.push_back(temp[i]);
            }
            ss.append(temp2);
        }
        return ss;
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值