【leetcode 每日打卡】1332. 删除回文子序列

在这里插入图片描述

class Solution:
    def removePalindromeSub(self, s: str) -> int:
        return 1 if s == s[::-1] else 2

1.首先明白回文是什么?向前向后读是一致的,python中将字符串倒序abcd[::-1]->bcda,通过[::-1]就可以将字符串倒过来,然后判断是否与原来字符串一致,一致的话就代表字符串是回文。

2.如题所示,每次删除一个回文,但是回文不一定是连续的,而且字符串只由ab组成,我们最多只需先将所有a删除,之后再删除所有b就可以将字符串全部删除,以上最小删除次数为2次

3.如果本身字符串就是回文我们最多只需要删除1次即可,包括上面的情况也最多两次,所以说我们就可以通过s==s[::-1]判断是不是回文,如果是我们只需要删除1次,不是的话也最多只有2次.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值