• Leetcode 131.分割回文串


    分割回文串

    给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。

    返回 s 所有可能的分割方案。

    示例:

    输入: "aab"

    输出:

    [

    ["aa","b"],

    ["a","a","b"]

    ]

     1 public class Solution{
     2     List<List<String>> res=new ArrayList<>();
     3     public List<List<String>> partition(String s){
     4         DFS(s,new ArrayList<String>());
     5         return res;
     6     }
     7 
     8     private boolean isPalindrom(String s){
     9         int p1=0;
    10         int p2=s.length()-1;
    11         int len=(s.length()+1)/2;
    12         for(int i=0;i<len;i++){
    13             if(s.charAt(p1++)!=s.charAt(p2--))
    14                 return false;
    15         }
    16         return true;
    17     }
    18 
    19     private void DFS(String s,List<String> list){
    20         if(s.length()<1){
    21             res.add(new ArrayList<>(list));
    22             return;
    23         }
    24         for(int i=1;i<=s.length();i++){
    25             String str=s.substring(0,i);
    26             if(isPalindrom(str)){
    27                 list.add(str);
    28                 DFS(s.substring(i),list);
    29                 list.remove(list.size()-1);
    30             }else{
    31                 continue;
    32             }
    33         }
    34     }
    35 }
  • 相关阅读:
    数据可视化
    tkinter学习04
    小练习-----银行提款机系统
    python___docx模块
    Django【进阶篇 】
    Django之Cookie/session/防止XSS攻击
    tkinter学习03
    tkinter学习02
    AJAX
    tkinter学习01
  • 原文地址:https://www.cnblogs.com/kexinxin/p/10187815.html
Copyright © 2020-2023  润新知