单词拆分
题目描述
给定一组字符串,里面含有许多单词,每个单词之间都有一个空格隔开,要求单独输出每个单词
题目分析
通过双指针算法,一端指着单词头,另一端去找单词尾,找到后返回,并将头指向尾,继续寻找,直到找到末尾为止
代码实现
#include<bits/stdc++.h>
#include<string.h>
const int N
= 1010;
using namespace std
;
int main(){
char str
[N
];
cin
.getline(str
, N
);
int len
= strlen(str
);
for(int i
= 0; i
< len
; i
++){
int j
= i
;
while(j
< len
&& str
[j
] != ' ') j
++;
for(int k
= i
; k
< j
; k
++) cout
<< str
[k
];
cout
<< endl
;
i
= j
;
}
return 0;
}
输入
this is a pig
输出
this
is
a
pig
总结
主要运用了双指针来进行这道题的分析,双指针基本都是遵循这种结构进行的 gets方法已经被淘汰了,因此选择使用了getline,当然还有其他一些输入方式,可自行尝试
for(int i
= 0; i
< n
; i
++){
while(j
= i
; check(条件
)) j
++;
}