給你乙個字串 s 和乙個 長度相同 的整數陣列 indices 。
請你重新排列字串 s ,其中第 i 個字元需要移動到 indices[i] 指示的位置。
返回重新排列後的字串。
示例 1:
輸入:s = 「codeleet」, indices = [4,5,6,7,0,2,1,3]
輸出:「leetcode」
解釋:如圖所示,「codeleet」 重新排列後變為 「leetcode」 。
示例 2:
輸入:s = 「abc」, indices = [0,1,2]
輸出:「abc」
解釋:重新排列後,每個字元都還留在原來的位置上。
示例 3:
輸入:s = 「aiohn」, indices = [3,1,4,2,0]
輸出:「nihao」
示例 4:
輸入:s = 「aaiougrt」, indices = [4,0,2,6,7,3,1,5]
輸出:「arigatou」
示例 5:
輸入:s = 「art」, indices = [1,0,2]
輸出:「rat」
起初我第一眼就是我就想到使用map來建立聯絡,因為map還會自動將key排序,所以我們使用字元對應的下標做key,字元做value
string restorestring
(string s, vector<
int>
& indices)
for(
auto it=mp.
begin()
;it!=mp.
end(
);it++
)return t;
}
於是開始優化一下為什麼不直接使用桶直接存放字元,所以改進了一下,使用vector就可以了
string restorestring
(string s, vector<
int>
& indices)
for(
int i=
0;i)return t;
}
我們發現因為最後輸出是string,不可避免再一次遍歷將字元插入string中,其實在c++,string也是乙個類似vector的容器,所以我們可以直接使用string,宣告string的長度
string restorestring
(string s, vector<
int>
& indices)
return t;
}
leetcode題目1528 重新排列字串
給你乙個字串 s 和乙個 長度相同 的整數陣列 indices 請你重新排列字串 s 其中第 i 個字元需要移動到 indices i 指示的位置。返回重新排列後的字串。示例 1 輸入 s codeleet indices 4,5,6,7,0,2,1,3 輸出 leetcode 解釋 如圖所示,co...
01 22 力扣題目 重新排列字串
給你乙個字串 s 和乙個 長度相同 的整數陣列 indices 請你重新排列字串 s 其中第 i 個字元需要移動到 indices i 指示的位置。返回重新排列後的字串。首先建立乙個字元陣列,長度就是字串s的長度,然後遍歷陣列indices,將字串s中的字元,按照indices中的下標來依次存放字串...
字串重新排列
題目 對乙個字串重新排列,字母排在前面,數字排在後面,並不改變原來字母之間以及數字之間的字元順序。如 wjhg1451wet030 wjhgwet1451030 我們暫不考慮這些字串中有其他非法字元,只考慮該字串只有字母和數字組成。需要注意 字母分大小寫,需要體現出來。如下 對乙個字串重新排列,字母...