Skip to main content

Command Palette

Search for a command to run...

Suffle String Leetcode Problem Solve in Javascript

Published
•1 min read•View as Markdown
S

Ex Full Stack Developer at @WiseBoxs | Vue React Node | MERN

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('');
};