給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。
若可行,輸出任意可行的結果。若不可行,返回空字串。
示例1:
輸入: s = 「aab」
輸出: 「aba」
示例 2:
輸入: s = 「aaab」
輸出: 「」
void main()
unordered_map<
int,
int> mp;
int maxlen =0;
for(
int i =
0; i < s.
size()
;++i)
if(maxlen>
(s.size()
+1)/
2)string newstring
(s);
int odd =
0, even =1;
for(
int i =
0; i < mp.
size()
;++i)
while
(mp[i]
>
0&& odd < s.
size()
)}return newstring;}}
;void
main()
重構字串
給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。輸入 s aab 輸出 aba 輸入 s aaab 輸出 string reorganizestring string s 判斷是否能夠重構 if h 0 second s.size...
LeetCode 字串 重構字串
給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。示例 輸入 s aab 輸出 aba 輸入 s aaab 輸出 說明 假設 s 中有多個 a,則我們想讓字串排成 axaxax 的形式。我們可以先統計每個字元出現的次數,然後利用間隔...
每日演算法 重構字串
給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。示例 1 輸入 s aab 輸出 aba 示例 2 輸入 s aaab 輸出 注意 s 只包含小寫字母並且長度在 1,500 區間內。前面返回空的判斷就不加以贅述了,直接說後面的解法...