一个小疑惑
查看原帖
一个小疑惑
746613
schirst楼主2024/3/10 21:31

我很好奇下面两段代码的区别是什么?

for(int i = 0; i < l; ++i) {
	while('0' <= s[i] && s[i] <= '9') {
		a[ct] = a[ct] * 10 + s[i] - '0';
		++i;
	}
	++ct;
}
and
for(int i = 0; i < l; ++i) 
	if(s[i] == ' ') 
		++ct;
	else 
		a[ct] = a[ct] * 10 + s[i] - '0';                             

(这是实现将单程巴士线路上的站点拆出来的代码)

第二个是我偷懒想少写而打的代码,思路是遇到空格再转到下一个站点

第一个则是一篇题解中的代码(有修改)

两者都能过本题样例及第一个点(本地运行) 但交上去确实100分(1)和40分(2,其中几乎所有点输出NO)

不太理解,还请大佬教导,谢谢。

2024/3/10 21:31
加载中...