1324 豎直列印單詞(模擬)

2021-10-06 22:31:56 字數 1205 閱讀 6566

1. 問題描述:

給你乙個字串 s。請你按照單詞在 s 中的出現順序將它們全部豎直返回。

單詞應該以字串列表的形式返回,必要時用空格補位,但輸出尾部的空格需要刪除(不允許尾隨空格)。

每個單詞只能放在一列上,每一列中也只能有乙個單詞。

示例 1:

輸入:s = "how are you"

輸出:["hay","oro","weu"]

解釋:每個單詞都應該豎直列印。 

"hay"

"oro"

"weu"

示例 2:

輸入:s = "to be or not to be"

輸出:["tbontb","oerooe","   t"]

解釋:題目允許使用空格補位,但不允許輸出末尾出現空格。

"tbontb"

"oerooe"

"   t"

示例 3:

輸入:s = "contest is coming"

輸出:["cic","oso","n m","t i","e n","s g","t"]

1 <= s.length <= 200

s 僅含大寫英文本母。

題目資料保證兩個單詞之間只有乙個空格。

通過次數2,880提交次數4,978

2. 思路分析:

① 乙個比較簡單的想法是模擬整個字串的形成過程,我們可以使用split方法分割出字串中的單詞,在for遍歷單詞的時候求解出最長的單詞長度,然後我們可以使用乙個字串陣列來儲存中間結果,通過下表的方法來拼接字母與空格

② 因為最後形成的是只允許有前面的空格,不允許後面的空格,所以我們需要使用迴圈處理一下字串後面的空格並且加入到結果集中即可

3. **如下:

class solution 

string rec = new string[len];

arrays.fill(rec, "");

for (int i = 0; i < words.length; ++i)}}

/*像下面這樣處理會變得簡單一點*/

listres = new arraylist<>();

for (int i = 0; i < len; ++i)

return res;

}}

LeetCode 1324 豎直列印單詞

table of contents 中文版 英文版 給你乙個字串 s。請你按照單詞在 s 中的出現順序將它們全部豎直返回。單詞應該以字串列表的形式返回,必要時用空格補位,但輸出尾部的空格需要刪除 不允許尾隨空格 每個單詞只能放在一列上,每一列中也只能有乙個單詞。示例 1 輸入 s how are y...

豎直列印單詞 暴力模擬的思路

給你乙個字串s。請你按照單詞在s中的出現順序將它們全部豎直返回。單詞應該以字串列表的形式返回,必要時用空格補位,但輸出尾部的空格需要刪除 不允許尾隨空格 每個單詞只能放在一列上,每一列中也只能有乙個單詞。題目資料保證兩個單詞之間只有乙個空格首先看到題目,應該先注意一下資料大小,一看,200,說明,這...

C 模擬列印日曆

類和函式的宣告部分 includeusing namespace std class date bool judge leap int year 判斷是否閏年 void print date int year,int month 列印日期 int week firstday int year,int...