求助
查看原帖
求助
724600
Submerge_TA楼主2023/7/16 10:00

WA on 7

#include <iostream>
#include <string>
#include <bits/stdc++.h>
#define int long long
using namespace std;

string reverseSubstring(string s) {
    int left = -1;
    int right = -1;

    // 寻找第一个为1的位置
    for (int i = 0; i < s.length(); i++) {
        if (s[i] == '1') {
            left = i;
            break;
        }
    }

    // 寻找最后一个为0的位置
    for (int i = s.length() - 1; i >= 0; i--) {
        if (s[i] == '0') {
            right = i;
            break;
        }
    }

    // 如果left和right的条件满足,则翻转子串
    if (left != -1 && right != -1 && right > left) {
        string t = s.substr(left, right - left + 1);
        reverse(t.begin(), t.end());
        s = s.substr(0, left) + t + s.substr(right + 1);
    }

    return s;
}

 main() {
    string s;
    cin >> s;

    string result = reverseSubstring(s);
    cout << result << endl;

    return 0;
}
2023/7/16 10:00
加载中...