1332:删除回文子序列

This commit is contained in:
huangge1199@hotmail.com 2021-04-27 22:36:46 +08:00
parent 58927c1a49
commit 176aac0d74
2 changed files with 115 additions and 0 deletions

View File

@ -0,0 +1,67 @@
//给你一个字符串 s它仅由字母 'a' 'b' 组成每一次删除操作都可以从 s 中删除一个回文 子序列
//
// 返回删除给定字符串中所有字符字符串为空的最小删除次数
//
// 子序列定义如果一个字符串可以通过删除原字符串某些字符而不改变原字符顺序得到那么这个字符串就是原字符串的一个子序列
//
// 回文定义如果一个字符串向后和向前读是一致的那么这个字符串就是一个回文
//
//
//
// 示例 1
//
// 输入s = "ababa"
//输出1
//解释字符串本身就是回文序列只需要删除一次
//
//
// 示例 2
//
// 输入s = "abb"
//输出2
//解释"abb" -> "bb" -> "".
//先删除回文子序列 "a"然后再删除 "bb"
//
//
// 示例 3
//
// 输入s = "baabb"
//输出2
//解释"baabb" -> "b" -> "".
//先删除回文子序列 "baab"然后再删除 "b"
//
//
// 示例 4
//
// 输入s = ""
//输出0
//
//
//
//
// 提示
//
//
// 0 <= s.length <= 1000
// s 仅包含字母 'a' 'b'
//
// Related Topics 字符串
// 👍 58 👎 0
package leetcode.editor.cn;
//1332:删除回文子序列
public class RemovePalindromicSubsequences{
public static void main(String[] args) {
//测试代码
Solution solution = new RemovePalindromicSubsequences().new Solution();
}
//力扣代码
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public int removePalindromeSub(String s) {
return new StringBuilder(s).reverse().toString().equals(s) ? 1 : 2;
}
}
//leetcode submit region end(Prohibit modification and deletion)
}

View File

@ -0,0 +1,48 @@
<p>给你一个字符串&nbsp;<code>s</code>,它仅由字母&nbsp;<code>&#39;a&#39;</code><code>&#39;b&#39;</code>&nbsp;组成。每一次删除操作都可以从 <code>s</code> 中删除一个回文 <strong>子序列</strong></p>
<p>返回删除给定字符串中所有字符(字符串为空)的最小删除次数。</p>
<p>「子序列」定义:如果一个字符串可以通过删除原字符串某些字符而不改变原字符顺序得到,那么这个字符串就是原字符串的一个子序列。</p>
<p>「回文」定义:如果一个字符串向后和向前读是一致的,那么这个字符串就是一个回文。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre><strong>输入:</strong>s = &quot;ababa&quot;
<strong>输出:</strong>1
<strong>解释:</strong>字符串本身就是回文序列,只需要删除一次。
</pre>
<p><strong>示例 2</strong></p>
<pre><strong>输入:</strong>s = &quot;abb&quot;
<strong>输出:</strong>2
<strong>解释:</strong>&quot;<strong>a</strong>bb&quot; -&gt; &quot;<strong>bb</strong>&quot; -&gt; &quot;&quot;.
先删除回文子序列 &quot;a&quot;,然后再删除 &quot;bb&quot;
</pre>
<p><strong>示例 3</strong></p>
<pre><strong>输入:</strong>s = &quot;baabb&quot;
<strong>输出:</strong>2
<strong>解释:</strong>&quot;<strong>baa</strong>b<strong>b</strong>&quot; -&gt; &quot;b&quot; -&gt; &quot;&quot;.
先删除回文子序列 &quot;baab&quot;,然后再删除 &quot;b&quot;
</pre>
<p><strong>示例 4</strong></p>
<pre><strong>输入:</strong>s = &quot;&quot;
<strong>输出:</strong>0
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>0 &lt;= s.length &lt;= 1000</code></li>
<li><code>s</code> 仅包含字母&nbsp;&#39;a&#39;&nbsp;&#39;b&#39;</li>
</ul>
<div><div>Related Topics</div><div><li>字符串</li></div></div>\n<div><li>👍 58</li><li>👎 0</li></div>