1528. 重新排列字符串
大约 1 分钟
--- 
1528. 重新排列字符串
- 标签:数组、字符串
- 难度:简单
题目链接
题目大意
描述:给定一个字符串 和一个整数数组 ,长度相同。 表示 在结果中的位置。
要求:返回重新排列后的字符串。
说明:
- 。
- 是 的排列。
示例:
- 示例 1:

输入:s = "codeleet", indices = [4,5,6,7,0,2,1,3]
输出:"leetcode"
解释:如图所示,"codeleet" 重新排列后变为 "leetcode" 。- 示例 2:
输入:s = "abc", indices = [0,1,2]
输出:"abc"
解释:重新排列后,每个字符都还留在原来的位置上。解题思路
思路 1:直接构造
1. 核心思想
创建一个长度为 的字符数组 。遍历 ,将 放到 。
2. 具体步骤
第 1 步:。
第 2 步:遍历 :。
第 3 步:返回 ''.join(res)。
3. 举例说明
以 为例:
结果:"leetcode"。
思路 1:代码
class Solution:
def restoreString(self, s: str, indices: List[int]) -> str:
n = len(s)
res = [''] * n
for i, idx in enumerate(indices):
res[idx] = s[i]
return ''.join(res)思路 1:复杂度分析
- 时间复杂度:。
- 空间复杂度:。