050 · Make The String Great
algorithm
Problem
给定一个字符串 s。
如果字符串中有两个相邻字符满足下面两个条件,就认为它们是一对“不好”的字符:
- 它们表示同一个英文字母
- 其中一个是小写,另一个是大写
例如,"aA" 和 "Bb" 都是不好的相邻字符;但 "ab"、"AA" 和 "bB" 以外的不同字母组合都不是。
你可以不断删除任意一对不好的相邻字符。删除以后,剩下的字符会重新连在一起,可能又形成新的不好相邻字符。
请返回:最终得到的“好”字符串。
题目保证:最终结果是唯一的。空字符串也算是好字符串。
例如:
s = "leEeetcode"
中间的 "eE" 是一对不好的相邻字符,可以删除:
"leEeetcode" -> "leetcode"
现在字符串中没有不好的相邻字符,所以答案是:
"leetcode"
Examples
示例 1
Input: s = "leEeetcode"
Output: "leetcode"
解释:删除相邻的 "eE" 后,剩下 "leetcode"。
示例 2
Input: s = "abBAcC"
Output: ""
解释:
"abBAcC" -> "aAcC" -> "cC" -> ""
最后所有字符都被删除,所以返回空字符串。
示例 3
Input: s = "s"
Output: "s"
解释:只有一个字符,不存在不好的相邻字符。
Constraints
- \(1 \leq\)
s.length\(\leq 100\) s只包含小写和大写英文字母
Link
→ Solution