美团笔试(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