zoukankan      html  css  js  c++  java
  • leetcode_1047. 删除字符串中的所有相邻重复项

    给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。
    
    在 S 上反复执行重复项删除操作,直到无法继续删除。
    
    在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。
    
     
    
    示例:
    
    输入:"abbaca"
    输出:"ca"
    解释:
    例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。
     
    
    提示:
    
    1 <= S.length <= 20000
    S 仅由小写英文字母组成。
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    
    class Solution:
        def removeDuplicates(self, S: str) -> str:
            ls=[]
            for i in range(len(S)):
                if ls and S[i]==ls[-1]:#如果ls不为空且S[i]等于栈顶,出栈
                    ls.pop()
                else:
                    ls.append(S[i])
            s=''
            for x in ls:
                s+=x
            return s
    
    class Solution:
        def removeDuplicates(self, S: str) -> str:
            ls=[]
            for i in range(len(S)):
                if ls and S[i]==ls[-1]:
                    ls.pop()
                else:
                    ls.append(S[i])
            #s=''
            # for x in ls:
            #     s+=x
            return ''.join(ls)
    
  • 相关阅读:
    JS计算字符串长度(兼容后端PHP)
    使用iview-admin2构建的项目,热更新无法启动
    关于HSTS的总结
    (转)javascript兼容问题总结
    js写一个通讯录
    HTML5+通讯录获取指定多个人的信息
    MUI封装的选择器调用
    心得小细节(一)
    读后感(一) web运作原理探析
    码农和软件开发工程师
  • 原文地址:https://www.cnblogs.com/hqzxwm/p/14084280.html
Copyright © 2011-2022 走看看