LeetCode习题:重新排列字符串

题目描述:给你一个字符串 s 和一个 长度相同 的整数数组 indices 。请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。返回重新排列后的字符串。

来源: 力扣(LeetCode) 链接

示例:输入:s = "aiohn", indices = [3,1,4,2,0], 输出:"nihao"

解题思路:使用一个与原字符串相同长度的字符数组,遍历字符串,以其对应的数字为该字符在新数组中的对应下标将其保存到新数组中,遍历完成将字符数组转换为字符串

class Solution {
    func restoreString(_ s: String, _ indices: [Int]) -> String {
        var ary = Array<Character>(repeating: Character("0"), count: indices.count)
        for (i, val) in s.enumerated() {
            let index = indices[i]
            ary[index] = val
        }
        return String(ary)
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容