题解 | #智乃的01串打乱#

智乃的01串打乱

https://ac.nowcoder.com/acm/contest/23478/D

D、智乃的01串打乱

签到题,找到第一个0和第一个1的位置直接交换即可。

时间复杂度O(N)O(N),空间复杂度O(N)O(N)

#include<bits/stdc++.h>
using namespace std;
const int MAXN=100005;
char s[MAXN];
int n;
char& f(char c)
{
	for (int i = 0; i < n; ++i)
	{
		if (s[i] == c)return s[i];
	}
	assert(0);
	return s[0];
}
int main()
{
	scanf("%d", &n);
	scanf("%s", s);
	assert(strlen(s)==n);
	swap(f('0'), f('1'));
	printf("%s\n", s);
	return 0;
}
全部评论

相关推荐

陈逸轩1205:才105 哥们在养生呢
点赞 评论 收藏
分享
05-11 20:45
门头沟学院 Java
有担当的灰太狼又在摸...:零帧起手查看图片
点赞 评论 收藏
分享
但听说转正率很低,我现在有在实习了,好纠结要不要去
熬夜脱发码农:转正率低归低,但是实习的经历你可以拿着,又不是说秋招不准备了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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