题解 | #所有的回文子串II#
所有的回文子串II
https://www.nowcoder.com/practice/3373d8924d0e441987650194347d3c53
- 题目考察的知识点 : 枚举遍历
- 题目解答方法的文字分析:
- 使用双重循环枚举字符串
s
中的所有子串,并使用check函数判断是否为回文子串。如果当前子串是回文子串,则将其添加进一个set中。最后,我们将set转换成list并进行排序,然后返回即可。
- 本题解析所用的编程语言: Python
- 完整且正确的编程代码
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param s string字符串 # @return string字符串一维数组 # class Solution: def partitionII(self, s: str) -> List[str]: n = len(s) res = set() # 判断字符串s1中从位置l到位置r是否为回文串 def check(s1, l, r): if r - l < 1: return False i, j = l, r while i < j: if s1[i] != s1[j]: return False i += 1 j -= 1 return True # 枚举字符串s中的所有子串,并将回文子串添加进结果集合res中 for i in range(n): for j in range(i+1, n): if check(s, i, j): res.add(s[i:j+1]) return sorted(list(res)) # 将结果集合转化成列表并按照字典序升序排序,然后返回
牛客高频top202题解系列 文章被收录于专栏
记录刷牛客高频202题的解法思路