Leetcode字符串相关
题目列表
| 题目 | 难度 |
|---|---|
| 13. 罗马数字转整数 | 简单 |
| 14. 最长公共前缀 | 简单 |
| 28. 实现 strStr() | 简单 |
| 58. 最后一个单词的长度 | 简单 |
| 125. 验证回文串 | 简单 |
| 205. 同构字符串 | 简单 |
| 242. 有效的字母异位词 | 简单 |
| 290. 单词规律 | 简单 |
| 344. 反转字符串 | 简单 |
| 345. 反转字符串中的元音字母 | 简单 |
| 383. 赎金信 | 简单 |
| 387. 字符串中的第一个唯一字符 | 简单 |
| 389. 找不同 | 简单 |
| 392. 判断子序列 | 简单 |
| 409. 最长回文串 | 简单 |
| 412. Fizz Buzz | 简单 |
| 434. 字符串中的单词数 | 简单 |
| 459. 重复的子字符串 | 简单 |
| 482. 密钥格式化 | 简单 |
| 500. 键盘行 | 简单 |
技巧与分析
在字符串的题目中,最经典也反复被使用的就是利用HashMap来统计字符串中单词的出现次数,当然,如果统计的是小写字母,也可以创建一个大小为26的数组,利用cnt[c-'a']来储存字符的出现次数
经典的题有:242,383,387,409
当涉及到字符串的遍历的时候,一般可以使用字符串的charAt或者toCharArray函数,但有些时候,字符串会以空格分开,这个时候,使用split(" ")函数会有奇效,比如在434中
哈希表在字符串操作中的用法不止是记录出现次数,在映射关系的题中,哈希表一再出现简化运算,比如在13,205,290中
而涉及到具体字符的操作,就和数组中一样,使用双指针更加方便,比如在344,345,392中
而字符串匹配的相关问题,KMP算法一定要掌握,比如在28,459中


