首页 > 试题广场 >

字符串的相邻字符去重

[编程题]字符串的相邻字符去重
  • 热度指数:1602 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个仅由英文小写字母组成的字符串s,将相邻且相同的两个字符删掉构成新的字符串,重复删除操作直至生成不符合删除条件的字符串并返回。

示例1

输入

"bcaac"

输出

"b"

说明

bcaac执行删除操作后变为bcc,再次执行删除操作变为b,此时不再符合删除条件故返回b。   
示例2

输入

"ab"

输出

"ab"

说明

原串即不符合删除条件,故直接返回。   
示例3

输入

"bcaaac"

输出

"bcac"

说明

bcaaac执行删除操作后变为 bcac ,此时不再符合删除条件 
#coding:utf-8
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#

# @param s string字符串 
# @return string字符串
#
class Solution:
    def removeDuplicates(self , s ):
        # write code here
        c=0
        b=1
        while b!=c:
            b=c
            for i in range(len(s)-1):
                if s[i]==s[i+1]:
                    s=s[:i]+s[i+2:]
                    c+=1
                    break
                           
        return s
            
            
发表于 2022-04-10 01:14:26 回复(0)