Skip to content

Practice Smallest String With Swaps

Read the task, work through the examples, and check your approach against the constraints. Use the original LeetCode task for coding and submissions.

Medium#1202
LeetCode Problem

Smallest String With Swaps

Problem Statement

You are given a string s, and an array of pairs of indices in the string pairs where pairs[i] = [a, b] indicates 2 indices(0-indexed) of the string. You can swap the characters at any pair of indices in the given pairs any number of times. Return the lexicographically smallest string that s can be changed to after using the swaps.

Source: Smallest String With Swaps on LeetCode. Use the original task for its coding environment and submissions.

Examples

# Example 1

Input
s = "dcab", pairs = [[0,3],[1,2]]
Output
"bacd" Explaination: Swap s[0] and s[3], s = "bcad" Swap s[1] and s[2], s = "bacd"

# Example 2

Input
s = "dcab", pairs = [[0,3],[1,2],[0,2]]
Output
"abcd" Explaination: Swap s[0] and s[3], s = "bcad" Swap s[0] and s[2], s = "acbd" Swap s[1] and s[2], s = "abcd"

# Example 3

Input
s = "cba", pairs = [[0,1],[1,2]]
Output
"abc" Explaination: Swap s[0] and s[1], s = "bca" Swap s[1] and s[2], s = "bac" Swap s[0] and s[1], s = "abc"

Constraints

1 <= s.length <= 10^5
0 <= pairs.length <= 10^5
0 <= pairs[i][0], pairs[i][1] < s.length
s only contains lower case English letters.

Related LeetCode Problems

Practice more problems similar to Smallest String With Swaps.

Review your practice with PhantomCodeAI

After trying the problem yourself, use the app to discuss your approach, complexity, and edge cases.