1. 字符串循环移位包含
1 | s1 = AABCD, s2 = CDAA |
给定两个字符串 s1 和 s2,要求判定 s2 是否能够被 s1 做循环移位得到的字符串包含。
s1 进行循环移位的结果是 s1s1 的子字符串,因此只要判断 s2 是否是 s1s1 的子字符串即可。
2. 字符串循环移位
1 | s = "abcd123" k = 3 |
将字符串向右循环移动 k 位。
将 abcd123 中的 abcd 和 123 单独翻转,得到 dcba321,然后对整个字符串进行翻转,得到 123abcd。
3. 字符串中单词的翻转
1 | s = "I am a student" |
将每个单词翻转,然后将整个字符串翻转。
242. 两个字符串包含的字符是否完全相同
242.Valid Anagram (Easy)
2020-7-18 16:17:33
题目描述
1 | s = "anagram", t = "nagaram", return true. |
可以用 HashMap 来映射字符与出现次数,然后比较两个字符串出现的字符数量是否相同。
由于本题的字符串只包含 26 个小写字符,因此可以使用长度为 26 的整型数组对字符串出现的字符进行统计,不再使用 HashMap。
解题思路
1 | class Solution { |
1 | //直接排序法 |
409. 最长回文串 - 计算一组字符集合可以组成的回文字符串的最大长度
409.Longest Palindrome (Easy)
2020-8-7 21:35:31
题目描述
给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。
注意:
假设字符串的长度不会超过 1010。
1 | 示例 1: |
解题思路
1 | class Solution { |