LeetCode 1816. 截断句子|刷题打卡

掘金团队号上线,助你 Offer 临门! 点击 查看详情

题目描述

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

例如,"Hello World""HELLO""hello world hello world" 都是句子。

给你一个句子 s 和一个整数 k ,请你将 s 截断,使截断后的句子仅含 前 k 个单词。返回 截断 s 后得到的句子。

来源:力扣(LeetCode)
链接:leetcode-cn.com/problems/tr…
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题目分析

单词是被空格分开的,那么前 k 个单词就会包含 k-1 个空格。

所以遍历字符串,统计空格的个数,当空格个数等于 k 的时候进行截断即可。

主要不要最后一个空格。

AC 代码

class Solution {
public:
    string truncateSentence(string s, int k) {
        string ans;
        for (int i = 0; i < s.size(); i++) {
            if (s[i] == ' ') {
                k--;
                if (k == 0) break;
            }
            ans += s[i];
        }
        return ans;
    }
};
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享