1816. Truncate Sentence

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".

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.
  • class Solution {
    public:
        string truncateSentence(string s, int k) {
            for(int i=0;i<s.size();++i)
                if(s[i]==' '&&--k==0)   //用单引号判断空格,只要遇见空格,--k就已经执行了
                    return s.substr(0,i);
            return s;
        }
    };

    string中很好用的截取字符串的方法substr,substr(4)表示从下标4开始,一直到结束,sunstr(4,5),表示从下标4开始,截取的长度为5

  • class Solution:
        def truncateSentence(self, s: str, k: int) -> str:
            return ' '.join(s.split()[:k])

    Python中字符串的split方法,将字符串拆分成序列,与join方法正好相反

posted @ 2021-04-14 08:49  Makerr  阅读(58)  评论(0编辑  收藏  举报