首页 > 其他分享 > 【LeeCode】131. 分割回文串

【LeeCode】131. 分割回文串

时间:2023-02-08 22:00:51浏览次数:51  
标签:return String LinkedList res list 131 LeeCode new 回文


【题目描述】

给你一个字符串 ​​s​​,请你将 ​s​ 分割成一些子串,使每个子串都是 回文串 。返回 ​​s​​ 所有可能的分割方案。

回文串 是正着读和反着读都一样的字符串。

​https://leetcode.cn/problems/palindrome-partitioning/description/​

【示例】

   【LeeCode】131. 分割回文串_字符串

【代码】admin

结果有问题

package com.company;

import java.util.*;

// 2022-02-07
class Solution {
List<List<String>> res = new LinkedList<>();
LinkedList<String> list = new LinkedList<>();
public List<List<String>> partition(String s) {
if (s.length() == 1) {
list.add(s);
res.add(list);
return res;
}
check(s, 0);
System.out.println(res);
return res;
}

private void check(String s, int index) {
if (!res.contains(list) && list.size() != 0){
res.add(new LinkedList<>(list));
}

for (int i = index; i < s.length(); i++){
String tmp = s.substring(i, i + 1);
if (huiwein(tmp)){
list.add(tmp);
check(s, i+1);
list.removeLast();
}
}
}

private boolean huiwein(String s) {
if (s.length() == 1 ) return true;
StringBuilder sb = new StringBuilder(s);
if (sb.toString().equals(sb.reverse().toString())) return true;
return false;
}
}

public class Test {
public static void main(String[] args) {
new Solution().partition("aab"); // [["a","a","b"],["aa","b"]]
new Solution().partition("a"); // 输出:[["a"]]
}
}

标签:return,String,LinkedList,res,list,131,LeeCode,new,回文
From: https://blog.51cto.com/u_13682316/6044926

相关文章

  • 【CSP201312-4】有趣的数(数位DP)
    problem问题描述试题编号:201312-4试题名称:有趣的数时间限制:1.0s内存限制:256.0MB问题描述:问题描述我们把一个数称为有趣的,当且仅当:1.它的数字只包含0,......
  • 【CSP201312-3】最大的矩形,单调栈
    problem201312-3试题名称:最大的矩形时间限制:1.0s内存限制:256.0MB问题描述:问题描述在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1≤i≤n)个矩形的高度......
  • 【CSP201312-2】ISBN号码,字符串,简单模拟
    problem试题编号:201312-2试题名称:ISBN号码时间限制:1.0s内存限制:256.0MB问题描述:问题描述每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、......
  • 【CSP201312-1 】出现次数最多的数,排序后扫描并记录
    problem问题描述给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入格式输入的第一行只有一个正整数n(1≤n≤1000),表......
  • 【LeeCode】131. 分割回文串 -- 异常
    【题目描述】给你一个字符串 ​​s​​,请你将 ​​s​​ 分割成一些子串,使每个子串都是 回文串 。返回 ​​s​​ 所有可能的分割方案。回文串 是正着读和反着读都......
  • 【LeeCode】215. 数组中的第K个最大元素
    【题目描述】给定整数数组 ​​nums​​​ 和整数 ​​k​​​,请返回数组中第 ​​k​​ 个最大的元素。请注意,你需要找的是数组排序后的第 ​​k​​ 个最大的元素,......
  • 【LeeCode】90. 子集 II
    【题目描述】给你一个整数数组 ​​nums​​ ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 ......
  • 【LeeCode】47. 全排列 II
    【题目描述】给定一个可包含重复数字的序列 ​​nums​​ ,按任意顺序 返回所有不重复的全排列。​​​​​https://leetcode.cn/problems/permutations-ii/​​​对比:​......
  • 51NOD 1131 覆盖数字的数量 规律+公式
    1131覆盖数字的数量1.0秒 131,072.0KB 20分 ​​3级题​​给出一段从A-B的区间S(A,B为整数),这段区间内的整数可以随便使用任意次。再给出一段从X-Y的区间T,问用区间S......
  • 【LeeCode】18. 四数之和
    【题目描述】给你一个由 ​​n​​​ 个整数组成的数组 ​​nums​​​ ,和一个目标值 ​​target​​ 。请你找出并返回满足下述全部条件且不重复的四元组 ​​[nums......