1528 Shuffle String
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.
Solution:
class Solution {
public String restoreString(String s, int[] indices) {
// base case
if (s == null || s.length() <= 1){
return s;
}
char[] result = new char[indices.length];
for (int i = 0; i < indices.length; i++){
int index = indices[i];
result[index] = s.charAt(i);
}
return new String(result);
}
}
// TC: O(n)
// SC: O(n