1816. Truncate Sentence

1816. Truncate Sentence #

Problem #

A sentence is a list of words that are separated by a single space with no leading or trailing spaces. Each of the words consists of only uppercase and lowercase English letters (no punctuation).

  • For example, “Hello World”, “HELLO”, and “hello world hello world” are all sentences.

You are given a sentence s and an integer k. You want to truncate s such that it contains only the first k words. Return s after truncating it.

Example 1:

Input: s = "Hello how are you Contestant", k = 4
Output: "Hello how are you"
Explanation:
The words in s are ["Hello", "how" "are", "you", "Contestant"].
The first 4 words are ["Hello", "how", "are", "you"].
Hence, you should return "Hello how are you".

Example 2:

Input: s = "What is the solution to this problem", k = 4
Output: "What is the solution"
Explanation:
The words in s are ["What", "is" "the", "solution", "to", "this", "problem"].
The first 4 words are ["What", "is", "the", "solution"].
Hence, you should return "What is the solution".

Example 3:

Input: s = "chopper is not a tanuki", k = 5
Output: "chopper is not a tanuki"

Constraints:

  • 1 <= s.length <= 500
  • k is in the range [1, the number of words in s].
  • s consist of only lowercase and uppercase English letters and spaces.
  • The words in s are separated by a single space.
  • There are no leading or trailing spaces.

Problem Summary #

A sentence is a list of words, where the words in the list are separated by a single space, and there are no leading or trailing spaces. Each word consists only of uppercase and lowercase English letters (no punctuation).

  • For example, “Hello World”, “HELLO”, and “hello world hello world” are all sentences.

Given a sentence s and an integer k, truncate s so that the truncated sentence contains only the first k words. Return the sentence obtained after truncating s.

Solution Approach #

  • Iterate through the string s and find the index end of the last space
  • If end is 0, return s directly; otherwise return s[:end]

Code #

package leetcode

func truncateSentence(s string, k int) string {
	end := 0
	for i := range s {
		if k > 0 && s[i] == ' ' {
			k--
		}
		if k == 0 {
			end = i
			break
		}
	}
	if end == 0 {
		return s
	}
	return s[:end]
}

Calendar Jun 25, 2026
Edit Edit this page
Total visits:   You are visitor No.
中文