1816. 截断句子

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

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

示例 1:输入:s = "Hello how are you Contestant", k = 4
输出:"Hello how are you"
解释:
s 中的单词为 ["Hello", "how" "are", "you", "Contestant"]
前 4 个单词为 ["Hello", "how", "are", "you"]
因此,应当返回 "Hello how are you"示例 2:输入:s = "What is the solution to this problem", k = 4
输出:"What is the solution"
解释:
s 中的单词为 ["What", "is" "the", "solution", "to", "this", "problem"]
前 4 个单词为 ["What", "is", "the", "solution"]
因此,应当返回 "What is the solution"示例 3:输入:s = "chopper is not a tanuki", k = 5
输出:"chopper is not a tanuki"

提示:

  • 1 <= s.length <= 500
  • k 的取值范围是 [1,  s 中单词的数目]
  • s 仅由大小写英文字母和空格组成
  • s 中的单词之间由单个空格隔开
  • 不存在前导或尾随空格

解题思路

s 中的单词之间由单个空格隔开,因此我们需要遍历s中的每一个字符,当遇到空格时直接跳过,当遇到字母时,将字母后面连续的没有被空格分隔开的字符全部遍历一遍,直到遇到空格时结束遍历,则说明我们已经找到了一个单词,如此类推,直到我们找到了题目要求的k个单词以后,跳出循环,并且记录下当前的下标,该下标之前的字符串就是我们需要截断的字符串,然后将该子串返回。

代码

class Solution {public:string truncateSentence(string s, int k) {int i=0;while (k>0){if (isalpha(s[i])){while (isalpha(s[i]))i++;k--;}else i++;}return s.substr(0,i);}
};

1816. 截断句子相关推荐

  1. 【快乐水题】1816. 截断句子

    原题: 力扣链接:1816. 截断句子 题目简述: 句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格.每个单词仅由大小写英文字母组成(不含标点符号). 例如,"H ...

  2. LeetCode 1816. 截断句子

    文章目录 1. 题目 2. 解题 1. 题目 句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格.每个单词仅由大小写英文字母组成(不含标点符号). 例如,"Hell ...

  3. 力扣 1816. 截断句子

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

  4. 文巾解题 1816. 截断句子

    1 题目描述 2 解题思路 emm,没啥思路.一行搞定 class Solution:def truncateSentence(self, s: str, k: int) -> str:retu ...

  5. LeetCode简单题之截断句子

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

  6. 截断句子取前k个单词

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

  7. leetcode 目录

    动态规划 文巾解题 5. 最长回文子串_刘文巾的博客-CSDN博客 文巾解题 10. 正则表达式匹配_刘文巾的博客-CSDN博客 文巾解题 198. 打家劫舍_UQI-LIUWJ的博客-CSDN博客 ...

  8. 【LeetCode 总结】Leetcode 题型分类总结、索引与常用接口函数

    文章目录 零. Java 常用接口函数 一. 动态规划 二. 链表 三. 哈希表 四. 滑动窗口 五. 字符串 六. DFS.BFS 七. 二分法 八. 二叉树 九. 偏数学.过目不忘 and 原地算 ...

  9. LeetCode 496. 下一个更大元素 I

    599. 两个列表的最小索引总和 添加链接描述 假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示. 你需要帮助他们用最少的索引和 ...

最新文章

  1. R语言层次聚类(hierarchical clustering):特征缩放、抽取hclust中的聚类簇(cutree函数从hclust对象中提取每个聚类簇的成员)、基于主成分分析的进行聚类结果可视化
  2. Linux学习笔记016---CentOS7虚拟机设置使用静态IP上网_配置集群的时候可以用
  3. java内存溢出模拟_模拟实战排查堆内存溢出(java.lang.OutOfMemoryError: Java heap space)问题...
  4. rails获取json内容
  5. inDesign入门教程,如何对齐和分组内容?
  6. Win7如何修改开机动画
  7. node2vec 图向量
  8. 工程师素质拓展课程主页(2012级)
  9. 【路在脚下】----成长的感觉
  10. vivado error:Multiple declarations of unsigned included via multiple use clauses
  11. react ts版 组件封装总结
  12. 爱奇艺密码加密js分析
  13. OSChina 周四乱弹 —— 妹子上班迟到的原因
  14. vue自定义点击空白隐藏其他标签
  15. 便携式储能系统---“钱景”无限
  16. 深交所a股证券代码_深交所股票代码000001
  17. ASP.NET MVC预览4-使用Ajax和Ajax.Form
  18. 计算机与信息专业综合试题,2017年西南大学计算机与信息科学学院软件学院808计算机专业基础综合考研题库...
  19. Ducky Debugging(字符串输入)题解
  20. Python文本挖掘笔记:1.3文本挖掘的基本思路

热门文章

  1. 01-复杂度1 最大子列和问题 (20 分)
  2. Java读取Excel文件
  3. select函数(一)
  4. java基础教程哪个好,吐血整理
  5. 终于有人把安卓程序员必学知识点全整理出来了,送大厂面经一份!
  6. java实现矩阵相乘
  7. python接口自动化(四)--接口测试工具介绍(详解)
  8. Python小数据池,代码块
  9. [deviceone开发]-do_Album的简单示例
  10. 基础拾遗------webservice详解