字符串
文章平均质量分 56
earlene_wyl
这个作者很懒,什么都没留下…
展开
-
leetcode 30. 串联所有单词的子串 hard
leetcode30. 串联所有单词的子串 hard 题目描述:给定一个字符串s和一些长度相同的单词words。找出 s 中恰好可以由words 中所有单词串联形成的子串的起始位置。注意子串要与words 中的单词完全匹配,中间不能有其他字符,但不需要考虑words中单词串联的顺序。示例 1:输入: s = "barfoothefoobarm...原创 2019-08-03 14:23:52 · 152 阅读 · 0 评论 -
leetcode 38. 报数 easy
leetcode38. 报数 easy 题目描述:报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 12. 113. 214. 12115. 1112211被读作"one 1"("一个一") , 即11。11 被读作"two 1s"("两个一"), 即21。...原创 2019-08-12 22:08:59 · 75 阅读 · 0 评论 -
leetcode 49. 字母异位词分组 medium
leetcode49. 字母异位词分组 medium 题目描述:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"...原创 2019-08-12 22:44:13 · 132 阅读 · 0 评论 -
leetcode 151. 翻转字符串里的单词 medium
leetcode 151. 翻转字符串里的单词medium 题目描述:给定一个字符串,逐个翻转字符串中的每个单词。示例 2:输入: " hello world! "输出:"world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。说明:无空格字符构成一个单词。输入字符串可以在前面或者后面包含多余...原创 2019-08-12 23:19:38 · 145 阅读 · 0 评论 -
leetcode 165. 比较版本号 medium
leetcode165. 比较版本号 medium 题目描述:比较两个版本号 version1和 version2。如果version1>version2返回1,如果version1<version2 返回 -1, 除此之外返回 0。你可以假设版本字符串非空,并且只包含数字和. 字符。. 字符不代表小数点,而是用于分隔数字...原创 2019-08-13 00:44:22 · 223 阅读 · 0 评论 -
leetcode 929. 独特的电子邮件地址 easy
leetcode 929. 独特的电子邮件地址easy 题目描述:每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。例如,在alice@leetcode.com中,alice是本地名称,而leetcode.com是域名。除了小写字母,这些电子邮件还可能包含 '.' 或 '+'。如果在电子邮件地址的本地名称部分中的某些字符之间添加句点('...原创 2019-08-13 01:08:20 · 200 阅读 · 0 评论 -
leetcode 6. Z 字形变换 medium
leetcode6. Z 字形变换 medium 题目描述:将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比...原创 2019-08-13 08:16:26 · 132 阅读 · 0 评论 -
leetcode 609. 在系统中查找重复文件 medium
leetcode609. 在系统中查找重复文件 medium 题目描述:给定一个目录信息列表,包括目录路径,以及该目录中的所有包含内容的文件,您需要找到文件系统中的所有重复文件组的路径。一组重复的文件至少包括二个具有完全相同内容的文件。输入列表中的单个目录信息字符串的格式如下:"root/d1/d2/.../dm f1.txt(f1_content) f2....原创 2019-08-17 17:51:51 · 124 阅读 · 0 评论 -
leetcode 394. 字符串解码 medium
leetcode394. 字符串解码medium 题目描述:给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以...原创 2019-08-18 01:11:35 · 131 阅读 · 1 评论 -
leetcode 14. 最长公共前缀 easy
leetcode14. 最长公共前缀 easy 题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入...原创 2019-07-16 15:14:58 · 126 阅读 · 0 评论 -
剑指offer. 17 打印从1到最大的n位数
剑指offer.17打印从1到最大的n位数题目描述:输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,打印出1,2,3,一直到最大的3位数999.解题思路:n位数的全排列,每个位置上从0到9遍历一遍,然后打印的时候,不要打印前导0代码://void dfs(string& s, int cur, int len) { if (cur ...原创 2019-10-09 03:00:31 · 105 阅读 · 0 评论 -
leetcode 76. 最小覆盖子串 hard
leetcode76. 最小覆盖子串 hard 题目描述:给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串 ""。如果 S 中存在这样的子串,我们保证它是唯一的答案。...原创 2019-08-19 23:26:32 · 129 阅读 · 0 评论 -
剑指offer. 67 实现atoi && 20 表示数值的字符串
剑指offer. 67实现atoi题目描述:将一个字符串转换成一个整数(实现atoi的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。解题思路:检查空指针,空字符串,溢出,不是有效的输入等情况,并且对于以上情况均返回0,假如想要进一步区分是因为什么情况而返回0,可以通过设置全局变量来做到...原创 2019-08-07 14:49:50 · 117 阅读 · 0 评论 -
leetcode 387. 字符串中的第一个唯一字符 easy
leetcode387. 字符串中的第一个唯一字符 easy 题目描述:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2.注意事项:您可以假定该字符串只包含小写字母。解题思路:先遍历一遍字符串,统计字符出现的次数(用哈...原创 2019-08-03 22:07:07 · 84 阅读 · 0 评论 -
剑指offer. 50 字符流中第一个不重复的字符
剑指offer. 50字符流中第一个不重复的字符题目描述:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。解题思路:思路:时间复杂度O(1),...原创 2019-08-03 22:56:47 · 121 阅读 · 0 评论 -
剑指offer. 58-1 翻转单词顺序序列
剑指offer. 58-1 翻转单词顺序序列题目描述:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词...原创 2019-08-04 15:28:21 · 150 阅读 · 0 评论 -
剑指offer. 58-2 左旋转字符串
剑指offer. 58-2左旋转字符串题目描述:对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!解题思路:假如字符串abc0位:abc1位:bca2位:cab3位:abc (即0位)代码:class Sol...原创 2019-08-04 15:30:44 · 109 阅读 · 0 评论 -
剑指offer. 5替换空格
剑指offer. 5替换空格题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题思路:问题1:替换字符串,是在原来的字符串上做替换,还是新开辟一个字符串做替换!问题2:在当前字符串替换,怎么替换才更有效率(不考虑java里现有的replace方法)。...原创 2019-08-05 19:01:24 · 89 阅读 · 0 评论 -
leetcode 5. 最长回文子串 medium (重要)
leetcode5. 最长回文子串medium 题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"解题思路一(最暴力O(n^3)):求一个字符串的最长回文子串...原创 2019-08-01 22:18:07 · 165 阅读 · 0 评论 -
Manacher算法(一个字符串中找到最长回文子串)
零、预备知识 Manacher用于在一个字符串中找到最长的回文子串。 回文串:正着念和反着念一样,例如aabbaa,anna等。 注意子串与子序列的区别: 子串必须是在原字符中可以找到的。比如 " I am a student"。am是子串(当然也是子序列),但是aa就不是子串了(是子序列)。一、算法原理 Manacher算法通常人称马拉车算法,用于在一个字符...原创 2019-08-01 22:50:23 · 134 阅读 · 0 评论 -
leetcode 266. 回文排列 easy
leetcode266. 回文排列 easy 题目描述:给定一个字符串,判断该字符串中是否可以通过重新排列组合,形成一个回文字符串。示例 1:输入: "code"输出: false示例 2:输入: "aab"输出: true示例 3:输入: "carerac"输出: true解题思路:我们可以使用映射表(map)帮助我们统计字符串中...原创 2019-08-01 22:31:01 · 476 阅读 · 0 评论 -
KMP( O(n)时间,子字符串查找 )
简介:基本思路:在寻找的过程中,文本指针i,并不回退,而是去移动模式指针j的值,那这个移动到哪个位置是去查询next数组(ptr_p=next【ptr_p】)而next 【i】实际上是模式字符串里面以下标i-1为尾的子串,它的最长相同前缀和后缀的长度。next数组的构建是通过递推来进行的理解:左神p542详细理解:https://blog.csdn.net/v_july_v/a...原创 2019-08-02 01:58:39 · 142 阅读 · 0 评论 -
leetcode 468. 验证IP地址 medium
leetcode468. 验证IP地址medium 题目描述:编写一个函数来验证输入的字符串是否是有效的 IPv4 或IPv6 地址。IPv4地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为0 -255,用(".")分割。比如,172.16.254.1;同时,IPv4 地址内的数不会以 0 开头。比如,地址172.16.254.01 是...原创 2019-08-18 19:03:03 · 295 阅读 · 0 评论 -
剑指offer. 19 正则表达式匹配
剑指offer. 19正则表达式匹配题目描述:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配解题思路:ab*a表示b可以出现...原创 2019-10-09 03:15:03 · 111 阅读 · 0 评论