这道题相对比较简单。正好最近学到StringBuilder就用了。

package leetcode.day_12_06;

/**
* 句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格。每个单词仅由大小写英文字母组成(不含标点符号)。
* <p>
* 例如,"Hello World"、"HELLO" 和 "hello world hello world" 都是句子。
* 给你一个句子 s 和一个整数 k,请你将 s 截断 ,使截断后的句子仅含 前 k 个单词。返回 截断 s 后得到的句子。
* <p>
* 示例 1:
* <p>
* 输入: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:
* <p>
* 输入: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:
* <p>
* 输入:s = "chopper is not a tanuki", k = 5
* 输出:"chopper is not a tanuki"
*
* @author soberw
* @Classname TruncateSentence1816
* @Description
* @Date 2021-12-06 10:33
*/
public class TruncateSentence1816 {
/**
* @param s 一个单词列表
* @param k 想要截取的单词个数
* @description: 将 s 截断 ,使截断后的句子仅含 前 k 个单词。
* @return: 返回 截断 s 后得到的句子
* @author: soberw
* @time: 2021/12/6 10:34
*/
public String truncateSentence(String s, int k) {
String[] str = s.split(" ");
StringBuilder sbu = new StringBuilder();
for (int i = 0; i < k; i++) {
sbu.append(str[i]);
sbu.append(" ");
}
return sbu.toString().trim();
} public static void main(String[] args) {
String s= "What is the solution to this problem";
System.out.println(new TruncateSentence1816().truncateSentence(s,4));
}
}

运行结果:

LeetCode随缘刷题之截断句子的更多相关文章

  1. LeetCode随缘刷题之最长回文子串

    这一题我用的相对比较笨的方法. 相对于大佬们用的动态规划法,比较复杂.但却更容易理解,我主要是通过记录下标来确定最长回文串的. package leetcode.day_12_06; /** * 给你 ...

  2. Leetcode随缘刷题之寻找两个正序数组的中位数

    我一上来没读清题,想着这题这么简单,直接就上手写了: package leetcode.day_12_05; import java.util.ArrayList; import java.util. ...

  3. LeetCode随缘刷题之Java经典面试题将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成

    今天给大家分享一个Java经典的面试题,题目是这样的: 本题是LeetCode题库中的49题. 将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成 举个例子:输入["eat&qu ...

  4. LeetCode随缘刷题之字符串转换整数

    package leetcode.day_01_29; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 请你 ...

  5. LeetCode随缘刷题之转化成小写字母

    这道题应该是最简单的一道题了把,简直在侮辱我. package leetcode.day_12_12; /** * 709. 转换成小写字母 * 给你一个字符串 s ,将该字符串中的大写字母转换成相同 ...

  6. LeetCode随缘刷题之最短补全词

    package leetcode.day_12_10; import org.junit.Test; /** * 给你一个字符串 licensePlate 和一个字符串数组 words ,请你找出并返 ...

  7. LeetCode随缘刷题之无重复字符的最长子串

    欢迎评论区交流. package leetcode.day_12_04; /** * 给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度. * <p> * 示例1: * &l ...

  8. LeetCode随缘刷题之赎金信

    欢迎评论区讨论. package leetcode.day_12_04; /** * 为了不在赎金信中暴露字迹,从杂志上搜索各个需要的字母,组成单词来表达意思. * * 给你一个赎金信 (ransom ...

  9. LeetCode随缘刷题之两数相加

    逐步解释,有说错的地方欢迎指正. package leetcode.day_12_03; /** * 给你两个非空 的链表,表示两个非负的整数.它们每位数字都是按照逆序的方式存储的,并且每个节点只能存 ...

随机推荐

  1. 深入浏览器工作原理和JS引擎(V8引擎为例)

    浏览器工作原理和JS引擎 1.浏览器工作原理 在浏览器中输入查找内容,浏览器是怎样将页面加载出来的?以及JavaScript代码在浏览器中是如何被执行的? 大概流程可观察以下图: 首先,用户在浏览器搜 ...

  2. .NET C#教程初级篇 1-1 基本数据类型及其存储方式

    .NET C# 教程初级篇 1-1 基本数据类型及其存储方式 全文目录 (博客园).NET Core Guide (Github).NET Core Guide 本节内容是对于C#基础类型的存储方式以 ...

  3. [转]webpack——CommonsChunkPlugin

    作用虽然webpack4已经出来很久了,CommonsChunkPlugin也已经舍弃了,但是还是有很多项目是通过webpack3来打包的,对CommonsChunkPlugin各个配置项的认识还是比 ...

  4. 基本的sql语法

    1. SELECT: 用于从数据库中选取数据 SELECT name,value FROM table_name 2.SELECT DISTINCT 语句用于返回唯一不同的值(去重) 3.WHERE ...

  5. 知乎上一个关于Android面试的问题答案

    由于链接出错,这里附上原文链接:Touch Me 前段时间面试,自己以及小伙伴们简要的汇总的一些面试问题,可以对照的参考一下吧- 建议就是在面一家公司之前了解好这个公司的app是以什么为驱动的,例如电 ...

  6. Java的八大基本数据类型

    Java的八大基本数据类型 前言 Bit是计算机存储数据的基本单元,bit叫做位,也被称作比特位. Byte意为字节,1Byte=1字节,一字节可以存储八个二进制位的数字, 即为1Byte=8bit. ...

  7. 【记录一个问题】铁威马NAS,升级系统后,所有安装的配置项都丢失了

    因为铁威马的系统功能真的是弱,所以写了一些家庭照片处理的系统. 上上周升级了系统后,丢失了以下内容: anaconda 2.及其conda下python3环境的各种库 3.nginx的转发配置 铁威马 ...

  8. 微信小程序-国际化(miniprogram-i18n)

    前情提要 最近维护了一个微信小程序的老项目,维护的其中一项是添加国际化.由于踩了蛮多坑,所以就有了这篇文档!!! miniprogram-i18n 对除小程序外的其他框架开发做过国际化的朋友来说i18 ...

  9. 从零开始, 开发一个 Web Office 套件 (1): 富文本编辑器

    这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Office 套件, 包括: 文档, 表格, 幻灯片... 等等. 富文本编辑器 万里长征 ...

  10. gorm创建记录

    1.  简单创建记录 user := User{Name: "李四", Age: 88, Birthday: time.Now()} ret := db.Create(&u ...