LeetCode Challenge: Shuffle Strings
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 from0
ton - 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.