zoukankan      html  css  js  c++  java
  • 【leetcode】1544. Make The String Great

    题目如下:

    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"
    

    Constraints:

    • 1 <= s.length <= 100
    • s contains only lower and upper case English letters.

    解题思路:很简单的题目。

    代码如下:

    class Solution(object):
        def makeGood(self, s):
            """
            :type s: str
            :rtype: str
            """
            res = []
            for i in s:
                if len(res) == 0:
                    res.append(i)
                elif res[-1].upper() == i.upper() and res[-1] != i:
                    res.pop(-1)
                else:
                    res.append(i)
            return ''.join(res)
  • 相关阅读:
    比特币的加密算法
    区块链项目-Lisk
    以太坊(二)
    以太坊的货币发行模式
    以太坊(一)
    前端er们如何最快开发h5移动端页面?
    jQuery Ajax常用总结
    js中变量作用域
    网页引入特殊字体的几种方案
    几个有趣的WEB设备API(二)
  • 原文地址:https://www.cnblogs.com/seyjs/p/13667821.html
Copyright © 2011-2022 走看看