LeetCode今天又是简单题。。。,好吧,我服。
LeetCode 1816. 截断句子

题目

句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格。每个单词仅由大小写英文字母组成(不含标点符号)。

例如,”Hello World”、”HELLO” 和 “hello world hello world” 都是句子。
给你一个句子 s 和一个整数 k ,请你将 s 截断 ,使截断后的句子仅含 前 k个单词。返回 截断 s 后得到的句子。

题解

这。。。这还有必要写题解吗。。。完全使用string.h库里的函数就行。
今天的题过于简单了,干脆借此来再开一章介绍一下c++的string类型变量和string.h库里的常用函数吧C++ String变量 与 <string.h>库

代码

1
2
3
4
5
6
7
8
9
class Solution {
public:
string truncateSentence(string s, int k) {
int n=s.find(' ');//寻找第一个空格位置
for(int i=0;i<k-1;i++)
n=s.find(' ',n+1);//用n标记第k个空格位置
return s.substr(0,n);//截取0到n的字符子串输出
}
};

虽然但是,此解法非唯一解,且不一定是最好的解法,如果您有更好的解法,欢迎在评论区中提出。