我在代码随想录|写代码Day8之 344. 反转字符串,541. 反转字符串 II, 54. 替换数字(第八期模拟笔试)

 344. 反转字符串

我在代码随想录|写代码Day8之 344. 反转字符串,541. 反转字符串 II, 54. 替换数字(第八期模拟笔试)_第1张图片

思路原地变化,C++直接调用函数进行

我在代码随想录|写代码Day8之 344. 反转字符串,541. 反转字符串 II, 54. 替换数字(第八期模拟笔试)_第2张图片

 左右交换,向中间移动sawp()c++用于交换俩元素的方法

 我在代码随想录|写代码Day8之 344. 反转字符串,541. 反转字符串 II, 54. 替换数字(第八期模拟笔试)_第3张图片

 为什么这个代码不能交换

我在代码随想录|写代码Day8之 344. 反转字符串,541. 反转字符串 II, 54. 替换数字(第八期模拟笔试)_第4张图片

解释: 

541. 反转字符串 II

 我在代码随想录|写代码Day8之 344. 反转字符串,541. 反转字符串 II, 54. 替换数字(第八期模拟笔试)_第5张图片

由上一题可以知道我们反转字符串可以原地反转,就可以在区间内反转数组

我在代码随想录|写代码Day8之 344. 反转字符串,541. 反转字符串 II, 54. 替换数字(第八期模拟笔试)_第6张图片

 54. 替换数字(第八期模拟笔试)icon-default.png?t=N7T8https://kamacoder.com/problempage.php?pid=1064

 我在代码随想录|写代码Day8之 344. 反转字符串,541. 反转字符串 II, 54. 替换数字(第八期模拟笔试)_第7张图片

 思路 : 运到相应的字母就替换即可

/*
* 12/20/tm /诸天神佛,佑我上分
*/

#include
using namespace std;
#define mp make_pair
#define pb push_back
#define PII pair
#define ll long long
#define multicase 0
#define N 500005
#define mod 998244353

int a[N], b[N];

void read(int&x) {
    x=0; char ch=getchar(); int f=1;
    while(!isdigit(ch)) f=ch=='-'?-1:1, ch=getchar();
    while(isdigit(ch)) x=x*10+ch-48, ch=getchar();
    x=f*x;
}

void read(ll&x) {
    x=0; char ch=getchar(); int f=1;
    while(!isdigit(ch)) f=ch=='-'?-1:1, ch=getchar();
    while(isdigit(ch)) x=x*10+ch-48, ch=getchar();
    x=f*x;
}

template
void rd(Args&... args) {
    std::initializer_list{(read(args), 0)...};
}


void init() { 
    //     M.reserve(1024); M.max_load_factor(0.25);
}

void solve() {
    string s; cin>>s;
    for(int i=0;i='1'&&s[i]<='9'){
            s.replace(i,1,"number");
        }
    }
    std::cout<>_; while(_--) solve(); 
    #else
    solve();
    #endif
}

// Fenwick tree
int t[N];
void add(int x,int v){for(;x>=1,b=b*b%mod)if(t&1)a=a*b%mod; return a;}
int inv(ll x){return qp(x,mod-2);}

// Joint Set
int f[N];
int find(int x){return f[x]==x?x:f[x]=find(f[x]);}

如果此文对你有帮助的话,欢迎关注、点赞、⭐收藏、✍️评论,支持一下博主~

你可能感兴趣的:(数据结构与算法,c语言刷题,c++,笔记,算法)