Search⌘ K
AI Features

Reorganize String

Explore methods to reorganize a string so that no two adjacent characters are identical. This lesson helps you understand how to apply frequency tracking and heap structures to develop valid character arrangements or determine when no solution exists.

Statement

Given a string, str, rearrange it so that any two adjacent characters are not the same. If such a reorganization of the characters is possible, output any possible valid arrangement. Otherwise, return an empty string.

Constraints:

  • 11\leq str.length 500\leq500
  • Input string consists of lowercase English letters.

Examples

canvasAnimation-image
1 / 3

Understand the problem

Let’s take a moment to make sure you’ve correctly understood the problem. The quiz below helps you check that if you’re solving the correct problem:

Reorganize String

1.

(Select all that apply.) What is the output if str = "programming"Multi-select

A.

“programing”

B.

“rgmrgmpiano”

C.

“rmpimrggano”

D.

“programimng”


1 / 3

Figure it out!

We have a game for you to play. Rearrange the logical building blocks to develop a clearer understanding of how to solve this problem.

Sequence - Vertical
Drag and drop the cards to rearrange them in the correct sequence.

1
2
3
4
5
6

Try it yourself

Implement your solution in the following coding playground:

C++
usercode > main.cpp
string ReorganizeString(string str)
{
// Replace this placeholder return statement with your code
return "";
}
Reorganize String