1 minute read

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 All values of indices are unique.

/**
 * @param {string} s
 * @param {number[]} indices
 * @return {string}
 */
var restoreString = function (s, indices) {
  let result = [];

  for (let i = 0; i < s.length; i++) {
    result[indices[i]] = s[i];
  }
  return result.join("");
};

The given JavaScript function restoreString takes two parameters: a string s and an array of numbers indices. It aims to reorder the characters of the input string s based on the corresponding indices provided in the indices array. The function initializes an empty array called result to store the reordered characters. It then iterates through the characters of the input string s using a for loop, and for each character at index i, it assigns that character to the result array at the index specified by the corresponding value in the indices array. Finally, it converts the result array back to a string using the join method and returns the reordered string. This function effectively reconstructs the original string based on the provided indices, thus achieving the desired string restoration.

Leave a comment