Suffle String Leetcode Problem Solve in Javascript
Suffle string is a very important question in javascript interviews. Lets discuss the the answer in this article with two solutions.
Suffle String Leetcode 1528
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 i<sup>th</sup> 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.
Suffle String in Javascript Using Map
Time complexity : O(n)
Space Complexity: O(n)
var restoreString = function(s, indices) {
const len = s.length;
const myMap = new Map();
for(let i=0; i<len; i++){
myMap.set(indices[i], s[i]);
}
let ans = [];
for(let i=0; i<len; i++){
ans[i] = myMap.get(i);
}
return ans.join('');
};
Simple Solution Without Map
Time Complexity: O(n)
Space Complexity: O(n)
var restoreString = function(s, indices) {
let ans = new Array(len);
for(let i=0; i<len; i++){
ans[indices[i]] = s[i]
}
return ans.join('');
};



