字符串
萌萌,站起来
这个作者很懒,什么都没留下…
展开
-
滑动窗口 labuladong,lee76 最小覆盖字串、lee567 字符串的排列、 lee438 找到字符串中所有字母异位词、 lee3 无重复字符的最长子串
lee76 最小覆盖子串给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入: S = “ADOBECODEBANC”, T = “ABC”输出: “BANC”说明:如果 S 中不存这样的子串,则返回空字符串 “”。如果 S 中存在这样的子串,我们保证它是唯一的答案。滑动窗口 labuladong想法注意:解决了,Integer自动拆箱这边 需要强制转化一下int,Integer会缓存频繁使用的数值,数值范围为-128到127,在此范围内直原创 2020-07-03 18:36:18 · 354 阅读 · 0 评论 -
leetcode14. 最长公共前缀
14. 最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。solution当字符串数组长度为 0 时则公共前缀为空,直接返回令最长公共前缀 ans 的值为第一个字符串,进行初始化遍历后面的字符串,依次将其原创 2020-06-15 21:34:42 · 185 阅读 · 0 评论 -
玩转贪心算法 lee455 贪心指数 lee392 判断子序列
贪心算法 总是跟最值有关 排序lee455假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最...原创 2020-02-21 16:29:01 · 194 阅读 · 0 评论 -
玩转树形问题 lee17 电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。经典问题递归总结过程就是 比如输入2...原创 2020-02-09 16:41:32 · 110 阅读 · 0 评论 -
栈经典题目 lee20有效的括号。 lee150 逆波兰表达式。lee71简化unix路径
lee20 有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例...原创 2020-01-17 20:03:44 · 199 阅读 · 0 评论 -
玩转lee49字母异位词分组。
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。思路 hashmap思路:利用HashMap ...原创 2020-01-13 17:22:05 · 224 阅读 · 0 评论 -
玩转lee290 单词规律 模式匹配 lee205 同构
给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = “abba”, str = “dog cat cat dog”输出: true示例 2:输入:pattern = “abba”, str ...原创 2020-01-06 15:57:01 · 141 阅读 · 0 评论 -
lee290字符串匹配
给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = “abba”, str = “dog cat cat dog”输出: true示例 2:输入:pattern = “abba”, str ...原创 2019-11-15 16:12:23 · 210 阅读 · 0 评论 -
new 序列化二叉树 二叉树和字符串的来回转换
请实现两个函数,分别用来序列化和反序列化二叉树二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。二叉树的反序列化是指:根据某种遍历顺序得到的序列化字...原创 2019-10-29 10:27:41 · 429 阅读 · 0 评论 -
new 字符流中第一个不重复的字符
使用HashMap使用有序的LinkedHashMap 按输入顺序输出HashMap和LinkedHashMap区别HashMap无序,LinkedHashMap 按输入顺序存储import java.util.*;public class Solution { //Insert one char from stringstream Map<Character,In...原创 2019-10-26 21:58:24 · 757 阅读 · 0 评论 -
new 表示数值的字符串考虑各种特殊情况
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。...原创 2019-10-26 19:48:04 · 204 阅读 · 0 评论 -
new 正则表达式匹配 6.6 又看一遍 匹配*需要注意??? leetcode 10 动态规划
题目描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配标题解这题需要把题意仔细研究清楚,反正我试了好多次才明白的。首先,考虑特殊情况:1>两个...原创 2019-10-26 19:23:22 · 137 阅读 · 0 评论 -
new 把字符串转换成整数 怎样判断溢出懂啦
题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0输入+21474836471a33输出21474836470public class Solution { public int StrToIn...原创 2019-10-26 15:03:10 · 299 阅读 · 0 评论 -
new 翻转字符串 左旋转字符串
输入一个英文句子,翻转句子中单词的顺序,单词顺序不变,标点符号和简单字母一样处理,例如:输入"I am a student" 输出:"student. a am I "此类题目很常见解法翻转句子中所有字符再反转每个单词中字符的顺序有经验的面试官如果看到应聘者几乎不假思索的想出一道比较巧妙的算法,就会觉得他可能见过这个题目,很多面试官会再问一个题目,以考察是不是真的理解这倒算法,类似且...原创 2019-10-25 11:12:24 · 140 阅读 · 0 评论 -
new 第一次只出现一次的字符
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).直接从头开始扫描字符中的每一个字母,那这个字母和后面的每个数比较,时O(n^2)哈希表HashMapimport java.util.*;public class Solution { public int FirstN...原创 2019-10-20 14:18:22 · 141 阅读 · 0 评论 -
new 字符串的排列 ????
对于无重复值的情况固定第一个字符,递归取得首位后面的各种字符串组合;再把第一个字符与后面每一个字符交换,并同样递归获得首位后面的字符串组合; *递归的出口,就是只剩一个字符的时候,递归的循环过程,就是从每个子串的第二个字符开始依次与第一个字符交换,然后继续处理子串。假如有重复值呢?*由于全排列就是从第一个数字起,每个数分别与它后面的数字交换,我们先尝试加个这样的判断——如果一个数...原创 2019-10-18 15:12:51 · 116 阅读 · 0 评论 -
new2 替换空格 Java StringBuffer 和 StringBuilder 类
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。调用自带函数public class Solution { public String replaceSpace(StringBuffer str) { return str.toString().replace(...原创 2019-10-11 16:28:54 · 182 阅读 · 0 评论