2022.8.2 L:eetCode

LeetCode

模拟循环队列
https://leetcode.cn/problems/design-circular-queue/solution/672-by-sen-xm-n0on/

AcWing

想用getline实现一下,但是截取单词子串的时候取成 i = j 和 j = i 了,这样的话面对空格永远都不会结束,实际上是 i = j + 1, j = i + 1 才对。
而且这题如果用while(cin>>str)实现的话,只需要输出str.size()即可,弄巧成拙了属于是。

#include <bits/stdc++.h>
using namespace std;


int main() {
	string line;
	getline(cin, line);
	for (int i = 0; i < line.size() - 1; ) {
		if (line[i] == '.')
			break;
		if (line[i] == ' ') {
			i++;
			continue;
		}
		int j = i + 1;
		while (line[j] != ' ' && line[j] != '.' && j < line.size())
			j++;
		cout << j - i << " ";
		i = j + 1;
	}


	return 0;
}
posted @ 2022-08-02 09:26  superPG  阅读(16)  评论(0编辑  收藏  举报