Easy
You are given a string s
and an integer array indices
of the same length. The string s
will be shuffled such that the character at the ith
position moves to indices[i]
in the shuffled string.
Return the shuffled string.
Example 1:
Input: s = “codeleet”, indices
= [4,5,6,7,0,2,1,3]
Output: “leetcode”
Explanation: As shown, “codeleet” becomes “leetcode” after shuffling.
Example 2:
Input: s = “abc”, indices
= [0,1,2]
Output: “abc”
Explanation: After shuffling, each character remains in its position.
Constraints:
s.length == indices.length == n
1 <= n <= 100
s
consists of only lowercase English letters.0 <= indices[i] < n
indices
are unique.class Solution {
fun restoreString(s: String, indices: IntArray): String {
val c = CharArray(s.length)
for (i in 0 until s.length) {
val index = findIndex(indices, i)
c[i] = s[index]
}
return String(c)
}
companion object {
private fun findIndex(indices: IntArray, i: Int): Int {
for (j in indices.indices) {
if (indices[j] == i) {
return j
}
}
return 0
}
}
}