1. 程式人生 > 實用技巧 >【leetcode】1528. Shuffle String

【leetcode】1528. Shuffle String

題目如下:

Given a stringsand an integer arrayindicesof thesame length.

The stringswill be shuffled such that the character at theithposition moves toindices[i]in the shuffled string.

Returnthe 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"

Example 4:

Input: s = "aaiougrt", indices = [4,0,2,6,7,3,1,5]
Output: "arigatou"

Example 5:

Input: s = "art", indices
= [1,0,2] Output: "rat"

Constraints:

  • s.length == indices.length == n
  • 1 <= n <= 100
  • scontains only lower-case English letters.
  • 0 <= indices[i] <n
  • All values ofindicesare unique (i.e.indicesis a permutation of the integers from0ton - 1).

解題思路:入門級的題目。

程式碼如下:

class Solution(object):
    def restoreString(self, s, indices):
        
""" :type s: str :type indices: List[int] :rtype: str """ res = [''] * len(s) for i in range(len(indices)): res[indices[i]] = s[i] return ''.join(res)