From 6c177df75392a3bc6421b7d5c87e802c1e49067e Mon Sep 17 00:00:00 2001 From: huangge1199 Date: Mon, 7 Jun 2021 11:32:10 +0800 Subject: [PATCH] =?UTF-8?q?1816:=E6=88=AA=E6=96=AD=E5=8F=A5=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../leetcode/editor/cn/TruncateSentence.java | 76 +++++++++++++++++++ .../leetcode/editor/cn/TruncateSentence.md | 47 ++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 src/main/java/leetcode/editor/cn/TruncateSentence.java create mode 100644 src/main/java/leetcode/editor/cn/TruncateSentence.md diff --git a/src/main/java/leetcode/editor/cn/TruncateSentence.java b/src/main/java/leetcode/editor/cn/TruncateSentence.java new file mode 100644 index 0000000..6f61af2 --- /dev/null +++ b/src/main/java/leetcode/editor/cn/TruncateSentence.java @@ -0,0 +1,76 @@ +//句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格。每个单词仅由大小写英文字母组成(不含标点符号)。 +// +// +// 例如,"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 中的单词之间由单个空格隔开 +// 不存在前导或尾随空格 +// +// Related Topics 字符串 +// 👍 6 👎 0 + +package leetcode.editor.cn; +//1816:截断句子 +public class TruncateSentence{ + public static void main(String[] args) { + //测试代码 + Solution solution = new TruncateSentence().new Solution(); + } + //力扣代码 + //leetcode submit region begin(Prohibit modification and deletion) +class Solution { + public String truncateSentence(String s, int k) { + String[] strings = s.split(" "); + if (strings.length == 0) { + return s; + } + StringBuilder sBuilder = new StringBuilder(); + for (int i = 0; i < k; i++) { + sBuilder.append(strings[i]).append(" "); + } + s = sBuilder.toString(); + s = s.substring(0, s.length() - 1); + return s; + } +} +//leetcode submit region end(Prohibit modification and deletion) + +} \ No newline at end of file diff --git a/src/main/java/leetcode/editor/cn/TruncateSentence.md b/src/main/java/leetcode/editor/cn/TruncateSentence.md new file mode 100644 index 0000000..636a443 --- /dev/null +++ b/src/main/java/leetcode/editor/cn/TruncateSentence.md @@ -0,0 +1,47 @@ +

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

+ + + +

给你一个句子 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"
+
+ +

 

+ +

提示:

+ + +
Related Topics
  • 字符串
  • \n
  • 👍 6
  • 👎 0
  • \ No newline at end of file