LeetCode简单题之将句子排序
題目
一個 句子 指的是一個序列的單詞用單個空格連接起來,且開頭和結尾沒有任何空格。每個單詞都只包含小寫或大寫英文字母。
我們可以給一個句子添加 從 1 開始的單詞位置索引 ,并且將句子中所有單詞 打亂順序 。
比方說,句子 “This is a sentence” 可以被打亂順序得到 “sentence4 a3 is2 This1” 或者 “is2 sentence4 This1 a3” 。
給你一個 打亂順序 的句子 s ,它包含的單詞不超過 9 個,請你重新構造并得到原本順序的句子。
示例 1:
輸入:s = “is2 sentence4 This1 a3”
輸出:“This is a sentence”
解釋:將 s 中的單詞按照初始位置排序,得到 “This1 is2 a3 sentence4” ,然后刪除數字。
示例 2:
輸入:s = “Myself2 Me1 I4 and3”
輸出:“Me Myself and I”
解釋:將 s 中的單詞按照初始位置排序,得到 “Me1 Myself2 and3 I4” ,然后刪除數字。
提示:
2 <= s.length <= 200
s 只包含小寫和大寫英文字母、空格以及從 1 到 9 的數字。
s 中單詞數目為 1 到 9 個。
s 中的單詞由單個空格分隔。
s 不包含任何前導或者后綴空格。
來源:力扣(LeetCode)
解題思路
??基本的思路:將句子分割成一個一個的單詞,然后根據單詞最后的一個數字進行排序,然后重新組成句子,最后再將句子中的數字去掉。由于數字只是個位數,所以匹配數字的時候只需要/d即可。
class Solution:def sortSentence(self, s: str) -> str:return re.sub(r'\d','',' '.join(sorted(s.split(' '),key=lambda x:x[-1])))
總結
以上是生活随笔為你收集整理的LeetCode简单题之将句子排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之判断能否形成等差
- 下一篇: LeetCode中等题之最简分数