#1702

Maximum Binary String After Change

medium · verified · 48% accepted · 528 likes · top 33%

string · greedy

⊣ practice⊣ open on leetcode ↗

Description

You are given a binary string binary consisting of only 0's or 1's. You can apply each of the following operations any number of times:

- Operation 1: If the number contains the substring "00", you can replace it with "10".



- For example, "00010" -> "10010"





- Operation 2: If the number contains the substring "10", you can replace it with "01".


- For example, "00010" -> "00001"





Return the maximum binary string you can obtain after any number of operations. Binary string x is greater than binary string y if x's decimal representation is greater than y's decimal representation.

Example 1:

Input: binary = "000110"
Output: "111011"
Explanation: A valid transformation sequence can be:
"000110" -> "000101"
"000101" -> "100101"
"100101" -> "110101"
"110101" -> "110011"
"110011" -> "111011"

Example 2:

Input: binary = "01"
Output: "01"
Explanation: "01" cannot be transformed any further.

Solution