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).
"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.s
are separated by a single space.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方法正好相反
原文:https://www.cnblogs.com/Makerr/p/14656247.html