java leetcode之[动态规划 中等]784. 字母大小写全排列
2021/11/28 20:40:40
本文主要是介绍java leetcode之[动态规划 中等]784. 字母大小写全排列,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目的链接在这里:https://leetcode-cn.com/problems/letter-case-permutation/
目录
- 题目大意
- 一、示意图
- 二、解题思路
- 回溯DFS
题目大意
给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。一、示意图
二、解题思路
回溯DFS
回溯DFS
代码如下:
class Solution { public List<String> letterCasePermutation(String s) { //首先是最后结果 List<String> res=new ArrayList<>(); //然后是中间结果 //可能使用StringBuffer比较好 StringBuffer sb=new StringBuffer(); //然后是判断条件 trackBack(res,sb,s,0); return res; } private void trackBack(List<String> res, StringBuffer sb, String s,int index) { //先进行最终条件判断 if(index==s.length()){ //说明凑齐了 res.add(sb.toString()); return; } //不然的话 就需要开始判断从后面开始的那一个了 这里应该不需要for循环了 //需要对他是 数字 大写 小写都进行判断 这里有个细节是 按照ascii码,小写是最大的 //然后是大写 然后是数字 if(s.charAt(index)>='a'){ //说明这个位置一定是小写的 那现在是 可以把他当作大写的 也可以把他当作小写的来排列 //那就是选改变它还是不变它 应该是需要变吧 //应该是先让他直接就放进去 然后再继续换成另一个的判断 //就是感觉 需要原数组进去 然后是换成一个新数 sb.append(s.charAt(index)); trackBack(res,sb,s,index+1); sb.deleteCharAt(sb.length()-1); char te= (char) (s.charAt(index)-'a'+'A'); sb.append(te); //然后继续遍历 trackBack(res,new StringBuffer(sb),s,index+1); //然后是还原回去 sb.deleteCharAt(sb.length()-1); } //然后还有大写的判断 else if(s.charAt(index)>='A'){ //这里也是如此 //应该是先让他直接就放进去 然后再继续换成另一个的判断 //说明是大写 需要变成小写 sb.append(s.charAt(index)); trackBack(res,sb,s,index+1); sb.deleteCharAt(sb.length()-1); char te= (char) (s.charAt(index)-'A'+'a'); sb.append(te); trackBack(res,new StringBuffer(sb),s,index+1); sb.deleteCharAt(sb.length()-1); } else{ //说明是数字 那就直接放进去 sb.append(s.charAt(index)); trackBack(res,new StringBuffer(sb),s,index+1); sb.deleteCharAt(sb.length()-1); } } }
这篇关于java leetcode之[动态规划 中等]784. 字母大小写全排列的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求