题解 | #句子逆序#双指针做法

句子逆序

https://www.nowcoder.com/practice/48b3cb4e3c694d9da5526e6255bb73c3

#include <iostream>
#include <string>
using namespace std;
void swapString(string& a, int fast, int low) {
    //将字符串全部翻转
    char temp;
    while (low < fast) {
        temp = a[low];
        a[low] = a[fast];
        a[fast] = temp;
        low++;
        fast--;
    }
}

void prString(string a) {

    int fast = a.size() - 1;
    int low = 0;
    //将字符串全部翻转
    swapString(a, fast, low);
    //按正确顺序输出
    fast = 0;
    low = 0;
    while (fast <= a.size()) {
        if (a[fast] == ' ' || fast == a.size()) {
            swapString(a, fast - 1, low);
            low = fast + 1;
        }
        fast = fast + 1;
    }

    for (int i = 0; i < a.size(); i++) {
        cout << a[i];
    }

}

int main() {
    string s;
    getline(cin, s);
    prString(s);

    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

06-26 18:30
门头沟学院 Java
据说名字越长别人越关...:你问问这里面有多少是正经候选人,而不是乱打招呼的
点赞 评论 收藏
分享
xdm怎么说&nbsp;要被拷打了&nbsp;担心是KPI
丹田:面就完了,就当日薪四位数的大佬免费给给你面试。
点赞 评论 收藏
分享
05-16 11:16
已编辑
东华理工大学 Java
牛客73769814...:盲猜几十人小公司,庙小妖风大,咋不叫她去4️⃣呢😁
牛客创作赏金赛
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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