力扣:131. 分割回文串

 回溯解法思路:

1.先声明一个集合来接受全部的回文子串组合,在声明一个集合来接收单个回文子串的组合。

2.写一个回溯函数,里面有终止条件和遍历全部组合的for循环来进行遍历全部的组合,终止条件为开始索引等于字符串的长度时,表示遍历完了整个字符串,li2加入到li1中去。在遍历for循环中要回溯操作,同时要检查分割段是否为回文子串,如果不是回文子串就跳过本次循环。 要写一个检查回文子串的函数,其中用双指针来检查这个分割段是否是回文子串。

​
class Solution {//接收全部的回文子串List<List<String>> li1=new ArrayList<>();//接收单个回文子串List<String> li2=new ArrayList<>();public List<List<String>> partition(String s) {//调用回溯函数huisu(s,0);return li1;}//回溯函数public void huisu(String s,int startIndex){//判断分割到了字符串的末尾if(startIndex==s.length()){li1.add(new ArrayList<>(li2));return;}//暴力的遍历全部组合for(int j=startIndex;j<s.length();j++){//如果是回文子串,则记录if(huiwen(s,startIndex,j)){//进行分割的字符操作String st = s.substring(startIndex, j+ 1);li2.add(st);}else {//不是回文子串跳过这次循环continue;}//调用方法进行递归。huisu(s,j+1);//得到回文串之后,回溯li2.removeLast();}}//回文函数public boolean huiwen(String s,int startIndex,int j){//遍历用双指针的方法来检查字符串是否是回文子串while(startIndex<j){if(s.charAt(startIndex)!=s.charAt(j)){return false;}startIndex++;j--;}return true;}
}​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/669917.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

政安晨:机器学习快速入门(二){基于Python与Pandas} {建立您的第一个机器学习模型}

现在咱们要一起创建您的第一个机器学习模型啦&#xff01; 选择建模数据 你的数据集包含太多变量&#xff0c;让你无法理解&#xff0c;甚至无法很好地打印出来。你如何将这大量的数据减少到你能理解的程度&#xff1f; 我们将从直觉上选择几个变量。后续课程将向你展示自动优…

【教学类-46-05】吉祥字门贴5.0(华光彩云_CNKI 文本框 空心字涂色 ,繁简都可以,建议简体)

作品展示 背景需求&#xff1a; 1、制作了空心字的第1款 华光通心圆_CNKI &#xff0c;发现它不能识别某些简体字&#xff0c;但可以识别他们的繁体字&#xff08;繁体为准&#xff09; 【教学类-46-01】吉祥字门贴1.0&#xff08;华光通心圆_CNKI 文本框 空心字涂色&#xf…

掌握Linux du命令:高效查看文件和目录大小

今天我们在生产环境中的服务器上收到了有关/var磁盘目录使用率较高的警报。为了解决这一问题&#xff0c;我们进行了/var目录下一些大文件的清理和转移操作。在查找那些占用磁盘空间较多的文件时&#xff0c;我们频繁使用了du命令。在Linux系统中&#xff0c;du命令是一款功能强…

Webpack插件浅析

常用的webpack插件功能介绍&#xff1a; 1.HotModuleReplacementPlugin 模块热更新插件。Hot-Module-Replacement的热更新是依赖于webpack-dev-server&#xff0c;有时是在打包文件改变时更新打包文件或者重新加载刷新整个页面&#xff0c;HMR是只更新修改的部分。 HotModul…

SpringBoot集成axis发布WebService服务

文章目录 1、使用maven-web项目生成server-config.wsdd文件1.1、新建maven-web项目1.1.1、新建项目1.1.2、添加依赖 1.2、编写服务接口和实现类1.2.1、OrderService接口1.2.2、OrderServiceImpl实现类 1.3、配置deploy.wsdd文件deploy.wsdd文件 1.4、配置tomcat1.4.1、配置tomc…

C++ Webserver从零开始:基础知识(八)——多线程编程

线程概述 现代Linux系统主要使用的线程库是NPTL&#xff0c;在Linux中可以通过 getconf GNU_LIBPTHREAD_VERSION 获取Linux线程库版本。谈到线程&#xff0c;就不得不提及线程模型 线程模型 本小节概念较多&#xff0c;采用问答式进行讲解&#xff0c;以帮助读者理解 什么…

Matlab:利用1D-CNN(一维卷积神经网络),分析高光谱曲线数据或时序数据

1DCNN 简介&#xff1a; 1D-CNN&#xff08;一维卷积神经网络&#xff09;是一种特殊类型的卷积神经网络&#xff0c;设计用于处理一维序列数据。这种网络结构通常由多个卷积层和池化层交替组成&#xff0c;最后使用全连接层将提取的特征映射到输出。 以下是1D-CNN的主要组成…

详细分析Redis中数值乱码的根本原因以及解决方式

目录 前言1. 问题所示2. 原理分析3. 拓展 前言 对于这方面的相关知识推荐阅读&#xff1a; Redis框架从入门到学精&#xff08;全&#xff09;Java关于RedisTemplate的使用分析 附代码java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09; …

在(龙芯 3A6000)loongnix下编译syncthing

在loongnix下编译syncthing Syncthing&#xff08;https://syncthing.net/&#xff09; 是一个开源的 P2P 文件同步工具&#xff0c;可用于在多个设备&#xff08;包括 Android 手机&#xff09;之间同步文件。 – Ankush Das&#xff08;作者&#xff09;。因为工作资料保存需…

板块零 IDEA编译器基础:第二节 创建JAVA WEB项目与IDEA基本设置 来自【汤米尼克的JAVAEE全套教程专栏】

板块零 IDEA编译器基础&#xff1a;第二节 创建JAVA WEB项目与IDEA基本设置 一、创建JAVA WEB项目&#xff08;1&#xff09;普通项目升级成WEB项目&#xff08;2&#xff09;创建JAVA包 二、IDEA 开荒基本设置&#xff08;1&#xff09;设置字体字号自动缩放 &#xff08;2&am…

C# 根据USB设备VID和PID 获取设备总线已报告设备描述

总线已报告设备描述 DEVPKEY_Device_BusReportedDeviceDesc 模式 winform 语言 c# using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Window…

升级Oracle 单实例数据库19.3到19.22

需求 我的Oracle Database Vagrant Box初始版本为19.3&#xff0c;需要升级到最新的RU&#xff0c;当前为19.22。 以下操作时间为为2024年2月5日。 补丁下载 补丁下载文档参见MOS文档&#xff1a;Primary Note for Database Proactive Patch Program (Doc ID 888.1)。 补丁…

企业级Spring boot项目 配置清单

目录 一、服务基础配置 二、配置数据库数据源 三、配置缓存 四、配置日志 五、配置统一异常处理 六、配置swagger文档 七、配置用户登录模块 八、配置websocket 九、配置定时任务 十、配置文件服务器 十一、配置Nacos 十二、配置项目启动数据库默认初始化(liquibas…

Bootstrap5 图片轮播

Bootstrap5 轮播样式表使用的是CDN资源 <title>亚丁号</title><!-- 自定义样式表 --><link href"static/front/css/front.css" rel"stylesheet" /><!-- 新 Bootstrap5 核心 CSS 文件 --><link rel"stylesheet"…

Meta开源大模型LLaMA2的部署使用

LLaMA2的部署使用 LLaMA2申请下载下载模型启动运行Llama2模型文本补全任务实现聊天任务LLaMA2编程Web UI操作 LLaMA2 申请下载 访问meta ai申请模型下载&#xff0c;注意有地区限制&#xff0c;建议选其他国家 申请后会收到邮件&#xff0c;内含一个下载URL地址&#xff0c;…

【翻译】Processing安卓模式的安装使用及打包发布(内含中文版截图)

原文链接在下面的每一章的最前面。 原文有三篇&#xff0c;译者不知道贴哪篇了&#xff0c;这篇干脆标了原创。。 译者声明&#xff1a;本文原文来自于GNU协议支持下的项目&#xff0c;具备开源二改授权&#xff0c;可翻译后公开。 文章目录 Install&#xff08;安装&#xff0…

1041.困于环中的机器人(Java)

题目描述&#xff1a; 在无限的平面上&#xff0c;机器人最初位于 (0, 0) 处&#xff0c;面朝北方。注意: 北方向 是y轴的正方向。 南方向 是y轴的负方向。 东方向 是x轴的正方向。 西方向 是x轴的负方向。 机器人可以接受下列三条指令之一&#xff1a; “G”&#xff1a;直走 …

42、WEB攻防——通用漏洞文件包含LFIRFI伪协议编码算法代码审计

文章目录 文件包含文件包含原理攻击思路文件包含分类 sessionPHP伪协议进行文件包含 文件包含 文件包含原理 文件包含其实就是引用&#xff0c;相当于C语言中的include <stdio.h>。文件包含漏洞常出现于php脚本中&#xff0c;当include($file)中的$file变量用户可控&am…

88 docker 环境下面 前端A连到后端B + 前端B连到后端A

前言 呵呵 最近出现了这样的一个问题, 我们有多个前端服务, 分别连接了对应的后端服务, 前端A -> 后端A, 前端B -> 后端B 但是 最近的时候 却会出现一种情况就是, 有些时候 前端A 连接到了 后端B, 前端B 连接到了 后端A 我们 前端服务使用 nginx 提供前端 html, js…

嵌入式软件bug分析基本要求

摘要&#xff1a;软件从来不是一次就能完美的&#xff0c;需要以包容的眼光看待它的残缺。那问题究竟为何产生&#xff0c;如何去除呢&#xff1f; 1、软件问题从哪来 软件缺陷问题千千万万&#xff0c;主要是需求、实现、和运行环境三方面。 1.1 需求描述偏差 客户角度的描…