其他分享
首页 > 其他分享> > 美团笔试(2022.08.20)烤串 【字符串】【双指针】

美团笔试(2022.08.20)烤串 【字符串】【双指针】

作者:互联网

字符串 双指针的一道简单题
不过过程中遇到小问题

本题与力扣1768的交替合并字符串一样

算法不提
主要是ACM模式下的输入输出问题:

我写的是

        int in = 0;
	cin >> in;
	string a,b;
	cin.ignore();

	getline(cin,a); 
	getline(cin,b); 

不过要么超时要么有的测试用例不通过

而换成

	int in = 0;
	cin >> in;
	string a,b;
	cin.ignore();
	cin >> a;
	cin >> b;

就全部通过了

原因分析: 美团输入的分隔空白符可能是空格而不是换行 即 输入 : 4 abcd efgh
如果用getline的话就会导致 第二个getline 拿到的是空白;

结论: 输入中如果本身不带空格 就用cin读取
如果有空格 就用 getline(cin,s)读取 getline第一个空格无法忽略 需要用cin.ignore()去 吞掉。

结论

标签:ignore,20,int,美团,cin,空格,2022.08,字符串,getline
来源: https://www.cnblogs.com/black-worrior-2000/p/16608535.html