欢迎光临散文网 会员登陆 & 注册

LeetCode 1544.Make The String Grea

2022-11-12 14:33 作者:您是打尖儿还是住店呢  | 我要投稿

Given a string s of lower and upper case English letters.

A good string is a string which doesn't have two adjacent characters s[i] and s[i + 1] where:

  • 0 <= i <= s.length - 2

  • s[i] is a lower-case letter and s[i + 1] is the same letter but in upper-case or vice-versa.

To make the string good, you can choose two adjacent characters that make the string bad and remove them. You can keep doing this until the string becomes good.

Return the string after making it good. The answer is guaranteed to be unique under the given constraints.

Notice that an empty string is also good.

 

Example 1:

Input: s = "leEeetcode"Output: "leetcode"Explanation: In the first step, either you choose i = 1 or i = 2, both will result "leEeetcode" to be reduced to "leetcode".

Example 2:

Input: s = "abBAcC"Output: ""Explanation: We have many possible scenarios, and all lead to the same answer. For example: "abBAcC" --> "aAcC" --> "cC" --> "" "abBAcC" --> "abBA" --> "aA" --> ""

Example 3:

Input: s = "s"Output: "s"

这种情况下用ArrayList 最方便了,当删除后,能自动补全,所以list.remove(i)要写2次,

类似于数组的删除第i项和删除第i+1项,但是ArrayList 就只能写2个remove(i)了;

至少咱通过了,不要求别的了。

Runtime: 7 ms, faster than 31.75% of Java online submissions for Make The String Great.

Memory Usage: 43.8 MB, less than 12.54% of Java online submissions for Make The String Great.


LeetCode 1544.Make The String Grea的评论 (共 条)

分享到微博请遵守国家法律