重構字串

2021-09-28 14:45:51 字數 690 閱讀 7445

給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。

若可行,輸出任意可行的結果。若不可行,返回空字串。

輸入:s = "aab"輸出:"aba"
輸入:s = "aaab"輸出:""
string reorganizestring(string s) );

//判斷是否能夠重構

if(h[0].second>(s.size()+1)/2)

return "";

//答案有size個字串拼接而成,輪轉排入。

int size=h[0].second;

vectorans(size);

int l=0;

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

} string res;

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

return res;

}

這個實現參考一位網友,服了,思路還好,主要是其中的實現細節,膜拜大神。

重構字串

給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。示例1 輸入 s aab 輸出 aba 示例 2 輸入 s aaab 輸出 void main unordered map int,int mp int maxlen 0 for i...

LeetCode 字串 重構字串

給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。示例 輸入 s aab 輸出 aba 輸入 s aaab 輸出 說明 假設 s 中有多個 a,則我們想讓字串排成 axaxax 的形式。我們可以先統計每個字元出現的次數,然後利用間隔...

每日演算法 重構字串

給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。示例 1 輸入 s aab 輸出 aba 示例 2 輸入 s aaab 輸出 注意 s 只包含小寫字母並且長度在 1,500 區間內。前面返回空的判斷就不加以贅述了,直接說後面的解法...