LeetCode Challenge: Shuffle Strings

Will Sheppard
2 min readDec 12, 2020

Description

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.

Example 3

Input: s = "aiohn", indices = [3,1,4,2,0]
Output: "nihao"

Constraints

  • s.length == indices.length == n
  • 1 <= n <= 100
  • s contains only lower-case English letters.
  • 0 <= indices[i] < n
  • All values of indices are unique (i.e. indices is a permutation of the integers from 0 to n - 1).

Solution:

Steps

1. Initialize an empty array named shuffled, which will eventually hold the characters of s.
2. Loop over the string
3. Then for each iteration, use the value of i, to push that specific character in s, to the corresponding index in shuffled, based on the current value in our indices array.
4. Convert our shuffled array to a string.
5. Return shuffled

Code (JavaScript)

Results

Runtime: 96 ms, faster than 33.74% of JavaScript online submissions for Shuffle String.Memory Usage: 40.5 MB, less than 34.70% of JavaScript online submissions for Shuffle String.

Thanks for viewing. If you have any feedback on how to improve this code, leave a comment.

--

--

Will Sheppard

Seasoned software engineer with 5+ years of experience in JavaScript, React, GraphQL, and AWS