字符串
leetcode题目分类--字符串
m0_38142029
这个作者很懒,什么都没留下…
展开
-
[树 字符串] 297. 二叉树的序列化与反序列化(DFS、BFS)
[[树 字符串] 297. 二叉树的序列化与反序列化(DFS、BFS)297. 二叉树的序列化与反序列化思路1:BFS思路2:DFS知识点:数组转成队列(数组 -(Arrays.asList)-> 列表 -(构造器)->队列)297. 二叉树的序列化与反序列化题目链接:https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree/分类:树、字符串(二叉树序列化:树 → 字符串,二叉树反序列化:字符串 →原创 2020-10-15 00:23:44 · 222 阅读 · 0 评论 -
[哈希表] 290. 单词规律(哈希表实现双向映射:containsValue、两个哈希表、借助中转数字字符串)
[哈希表] 290. 单词规律(哈希表实现双向映射:containsValue、两个哈希表、借助中转数字字符串)290. 单词规律题目分析思路1:一个哈希表 + containsValue函数实现遇到的问题:特殊用例思路2:两个哈希表记录双向映射关系(推荐)思路3:一个哈希表 + 字母、单词都转换成数字(推荐)思路4:两个哈希表 + 字母、单词都转换成数字(对思路3的改进,推荐)290. 单词规律题目链接:https://leetcode-cn.com/problems/word-pattern/分原创 2020-10-13 00:33:35 · 270 阅读 · 1 评论 -
[回溯 字符串] 282. 给表达式添加运算符(回溯法:考虑乘法优先级)
[回溯 字符串] 282. 给表达式添加运算符(回溯法:考虑乘法优先级)282. 给表达式添加运算符思路:回溯法实现遇到的问题:前导零问题282. 给表达式添加运算符题目链接:https://leetcode-cn.com/problems/expression-add-operators/分类:回溯法(画出回溯树、for循环划分数字、先实现加减法再实现乘法、乘法引入pre变量指向前一个因子)字符串(递归传递字符串String和StringBuilder、保存现场和恢复现场)思路:回原创 2020-10-11 01:29:05 · 331 阅读 · 0 评论 -
[字符串 数学] 273. 整数转换英文表示(分组转换)
[字符串 数学] 273. 整数转换英文表示(分组转换)273. 整数转换英文表示思路:分组转换273. 整数转换英文表示题目链接:https://leetcode-cn.com/problems/integer-to-english-words/分类:数学(给定数字转英文的规则、数字分组转换:从最低位开始每3位分成一组进行转换)字符串(设置字符串数组:THOUSAND,LESS_THAN_TWENTY,HUNDRED作为字典数组、转换细节:空格符的处理)思路:分组转换理解转换规则:原创 2020-10-08 21:49:45 · 316 阅读 · 0 评论 -
[字符串 分治法] 241. 为运算表达式设计优先级 (分治法)
[字符串 分治法] 241. 为运算表达式设计优先级 (分治法)241. 为运算表达式设计优先级思路:分治法 (递归实现)241. 为运算表达式设计优先级题目链接:https://leetcode-cn.com/problems/different-ways-to-add-parentheses/分类:字符串:解析字符串上的数字,运算符、构造所有可能的括号组合;分治法:按运算符划分式子,返回子式的计算结果集合;动态规划:见参考链接的解法2.思路:分治法 (递归实现)问题分解:例如原创 2020-10-06 20:52:31 · 223 阅读 · 0 评论 -
[栈 字符串] 224. 基本计算器(栈的应用:符号栈+数字栈+出入栈规则、字符串解析) 227.基本计算器 II(出入栈规则、字符串解析)
[栈 字符串] 224. 基本计算器(栈的应用:符号栈+数字栈+出入栈规则、字符串解析)224. 基本计算器思路:栈 + 字符串解析实现遇到的问题:数字截取问题224. 基本计算器题目链接:https://leetcode-cn.com/problems/basic-calculator/分类:栈(开辟符号栈、数字栈,设计出入栈规则,实现带括号的加减法)数学/字符串(分析+实现基本计算器的功能,实质上是对字符串的解析:对数字、括号字符、加减法号的提取)思路:栈 + 字符串解析开辟两个原创 2020-09-30 16:54:46 · 590 阅读 · 0 评论 -
[字符串匹配]214. 最短回文串 (暴力解 → RK算法 → KMP算法)
[字符串匹配]214. 最短回文串 (暴力解 → RK算法 → KMP算法)214. 最短回文串题目分析思路1-1:暴力解(自己的最初想法)实现遇到的问题:各种查缺补漏思路1-2 思路简化的暴力解思路2:s和反转s做equals寻找最大回文子串(思路3\4优化的基础)实现遇到的问题:reverse会修改原sb思路3:RK算法(字符串哈希法)实现遇到的问题:字面量溢出问题思路4:KMP算法214. 最短回文串题目链接分类:字符串(寻找以第0个字符为开头的最长回文子串)字符串匹配算法(equals原创 2020-09-26 23:00:34 · 909 阅读 · 1 评论 -
[字符串 哈希表] 205. 同构字符串(利用哈希表寻找双向映射关系)
[字符串 哈希表] 205. 同构字符串(利用哈希表寻找双向映射关系)205.同构字符串题目分析思路1:map + set + 字母种类数比较(自己想到的,推荐)算法设计实现代码思路2:map + 调换参数执行两次思路3:两个数组记录s->t,t->s(较简洁,推荐)知识点:1、char字符写在数组的下标处时会自动转换为ASCII码值。2、int数组存放char型数据时,char型数据会自动转成ASCII码存入。实现代码205.同构字符串题目链接:https://leetcode-cn.co原创 2020-09-21 00:16:00 · 262 阅读 · 0 评论 -
[回溯 动态规划]131. 132 分割回文串 I II (回溯法→动态规划)
[回溯->动态规划]131. 132 分割回文串 I II (回溯法、动态规划)131. 分割回文串 I(找出所有子串解集)思路1:回溯法(未做优化)算法设计1、变量设置2、回溯函数的设置:3、子串回文的判断:双指针法实现代码思路1优化:动态规划提前构造回文判断数组实现遇到的问题:dp数组下标和substring下标的区间开闭情况不同实现代码132. 分割回文串 II(计算最少分割次数)题目分析:思路:动态规划131. 分割回文串 I(找出所有子串解集)题目链接:https://leetcode-原创 2020-10-28 18:29:36 · 188 阅读 · 0 评论 -
[滑动窗口]76. 最小覆盖子串(滑动窗口、哈希表)
[滑动窗口 leetcode]76. 最小覆盖子串(滑动窗口、哈希表)第76题.最小覆盖子串(滑动窗口、哈希表)思路:滑动窗口关键问题:如何判断窗口内字符串包含t所有字符?(check函数的编写)知识点:map的遍历(重点、生疏点)实现代码思路1的优化(修改调用check的时机、字符串预处理)分析优化措施1:修改调用check的时机优化措施2:预处理字符串s实现代码:第76题.最小覆盖子串(滑动窗口、哈希表)题目链接:76. 最小覆盖子串分类:字符串、滑动窗口、哈希表思路:滑动窗口设置滑动窗口左原创 2020-10-20 11:23:16 · 114 阅读 · 0 评论