1332. Remove Palindromic Subsequences

Leetcode link

解题思路

本题要求我们给出删除一个由 a 与 b 构成的字符串的步骤,其中每一步只能删除一个回文子序列


这道题是简单题,所以题目给出了字符串只有 a 跟 b 的限制

由于字符串只有 a 跟 b,而每次只能删除回文子序列(注意不是子串,这里是可以是不连续的)

而相同的字符组成的子序列一定是回文子序列,所以最多只要删除 2 次就能删除所有的字符串

我们可以根据字符串是否为回文判断:如果是,则只需要删除一次;如果不是,则需要删除两次

C++

class Solution {
public:
    int removePalindromeSub(string s) {
        int len = s.size();
        for(int i = 0;i < len /2;i++) {
            if(s[i] != s[len - 1 - i]) {
                return 2;
            }
        }
        return 1;
    }
};

Javascript

var removePalindromeSub = function(s) {
    let len = s.length;
    for(let i = 0;i < len / 2;i++) {
        if(s[i] != s[len - 1 - i]) {
            return 2;
        }
    }
    return 1;
};

results matching ""

    No results matching ""