1859. 将句子排序
生活随笔
收集整理的這篇文章主要介紹了
1859. 将句子排序
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1859. 將句子排序
一個(gè) 句子?指的是一個(gè)序列的單詞用單個(gè)空格連接起來(lái),且開(kāi)頭和結(jié)尾沒(méi)有任何空格。每個(gè)單詞都只包含小寫(xiě)或大寫(xiě)英文字母。
我們可以給一個(gè)句子添加 從 1 開(kāi)始的單詞位置索引 ,并且將句子中所有單詞?打亂順序?。
比方說(shuō),句子?“This is a sentence”?可以被打亂順序得到?“sentence4 a3 is2 This1”?或者?“is2 sentence4 This1 a3”?。
給你一個(gè) 打亂順序?的句子?s?,它包含的單詞不超過(guò)?9?個(gè),請(qǐng)你重新構(gòu)造并得到原本順序的句子。
提示:
- 2 <= s.length <= 200
- s?只包含小寫(xiě)和大寫(xiě)英文字母、空格以及從?1?到?9?的數(shù)字。
- s?中單詞數(shù)目為?1?到?9?個(gè)。
- s?中的單詞由單個(gè)空格分隔。
- s?不包含任何前導(dǎo)或者后綴空格。
解題思路
代碼
class Solution { public:string sortSentence(string s) {map<int,string> m;for (int i = 0; i < s.size(); ++i) {if (s[i]!=' '){int start=i;while (i < s.size()&&s[i]!=' '){i++;}m[s[i-1]-'0']=s.substr(start,i-start-1);}}string res("");for (int i = 1; i <= 9; ++i) {if (m.count(i))res.append(m[i]+" ");else break;}return res.substr(0,res.size()-1);} };總結(jié)
以上是生活随笔為你收集整理的1859. 将句子排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 1854. 人口最多的年份
- 下一篇: 423. 从英文中重建数字