力扣 上公升下降字串

2021-10-11 09:19:16 字數 1388 閱讀 2161

給你乙個字串 s ,請你根據下面的演算法重新構造字串:

從 s 中選出 最小 的字元,將它 接在 結果字串的後面。

從 s 剩餘字元中選出 最小 的字元,且該字元比上乙個新增的字元大,將它 接在 結果字串後面。

重複步驟 2 ,直到你沒法從 s 中選擇字元。

從 s 中選出 最大 的字元,將它 接在 結果字串的後面。

從 s 剩餘字元中選出 最大 的字元,且該字元比上乙個新增的字元小,將它 接在 結果字串後面。

重複步驟 5 ,直到你沒法從 s 中選擇字元。

重複步驟 1 到 6 ,直到 s 中所有字元都已經被選過。

在任何一步中,如果最小或者最大字元不止乙個 ,你可以選擇其中任意乙個,並將其新增到結果字串。

請你返回將 s 中字元重新排序後的 結果字串 。

示例 1:

輸入:s =

"aaaabbbbcccc"

輸出:"abccbaabccba"

解釋:第一輪的步驟 1,2,3 後,結果字串為 result =

"abc"

第一輪的步驟 4,5,6 後,結果字串為 result =

"abccba"

第一輪結束,現在 s =

"aabbcc" ,我們再次回到步驟 1

第二輪的步驟 1,2,3 後,結果字串為 result =

"abccbaabc"

第二輪的步驟 4,5,6 後,結果字串為 result =

"abccbaabccba"

示例 2:

輸入:s =

"rat"

輸出:"art"

解釋:單詞 "rat" 在上述演算法重排序以後變成 "art"

示例 3:

輸入:s =

"leetcode"

輸出:"cdelotee"

示例 4:

輸入:s =

"ggggggg"

輸出:"ggggggg"

示例 5:

輸入:s =

"spo"

輸出:"ops"

public

static string sortstring

(string s)

stringbuffer str =

newstringbuffer()

;while

(str.

length()

< s.

length()

)}for(

int i =

25; i >=

0; i--)}

}return str.

tostring()

;}

上公升下降字串

給你乙個字串s,請你根據下面的演算法重新構造字串 請你返回將s中字元重新排序後的結果字串。輸入 s aaaabbbbcccc 輸出 abccbaabccba 解釋 第一輪的步驟 1,2,3 後,結果字串為 result abc 第一輪的步驟 4,5,6 後,結果字串為 result abccba 第...

1370 上公升下降字串

題目描述 給你乙個字串 s 請你根據下面的演算法重新構造字串 從 s 中選出 最小 的字元,將它 接在 結果字串的後面。從 s 剩餘字元中選出 最小 的字元,且該字元比上乙個新增的字元大,將它 接在 結果字串後面。重複步驟 2 直到你沒法從 s 中選擇字元。從 s 中選出 最大 的字元,將它 接在 ...

1370 上公升下降字串

上公升下降字串 給你乙個字串 s 請你根據下面的演算法重新構造字串 從 s 中選出 最小 的字元,將它 接在 結果字串的後面。從 s 剩餘字元中選出 最小 的字元,且該字元比上乙個新增的字元大,將它 接在 結果字串後面。重複步驟 2 直到你沒法從 s 中選擇字元。從 s 中選出 最大 的字元,將它 ...