字符串
LeetCode 题目,不一定是最好的解法,但力求简洁、易懂
Rock在学习
这个作者很懒,什么都没留下…
展开
-
字符串刷题目录
名称力扣地址难度标签原创 2023-12-10 08:24:46 · 294 阅读 · 0 评论 -
409. 最长回文串(简单)
https://leetcode.cn/problems/longest-palindrome/给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 。在构造过程中,请注意 区分大小写 。比如 “Aa” 不能当做一个回文字符串。示例 1:输入:s = “abccccdd”输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。class Solution: def longestPalindrome(self, s: str)原创 2024-01-29 22:17:54 · 262 阅读 · 0 评论 -
7. 整数反转(中等)
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。假设环境不允许存储 64 位整数(有符号或无符号)。输入:x = 123。原创 2023-12-17 08:51:42 · 393 阅读 · 0 评论 -
648. 单词替换(中等)
在英语中,我们有一个叫做 词根(root) 的概念,可以词根后面添加其他一些词组成另一个较长的单词——我们称这个词为 继承词(successor)。例如,词根an,跟随着单词 other(其他),可以形成新的单词 another(另一个)。你需要将句子中的所有继承词用词根替换掉。如果继承词有许多可以形成它的词根,则用最短的词根替换它。输入:dictionary = [“cat”,“bat”,“rat”], sentence = “the cattle was rattled by the battery”原创 2023-12-10 08:39:06 · 360 阅读 · 0 评论 -
6. N 字形变换(中等)
之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。输入:s = “PAYPALISHIRING”, numRows = 4。输出:“PINALSIGYAHRPI”原创 2023-12-10 08:32:37 · 387 阅读 · 0 评论 -
8. 字符串转换整数 (atoi)(中等)
如果整数数超过 32 位有符号整数范围 [−231, 231 − 1] ,需要截断这个整数,使其保持在这个范围内。具体来说,小于 −231 的整数应该被固定为 −231 ,大于 231 − 1 的整数应该被固定为 231 − 1。将前面步骤读入的这些数字转换为整数(即,“123” -> 123, “0032” -> 32)。由于 “-42” 在范围 [-231, 231 - 1] 内,最终结果为 -42。第 2 步:" -42"(读入 ‘-’ 字符,所以结果应该是负数)解析得到整数 -42。原创 2023-12-10 07:28:21 · 350 阅读 · 0 评论 -
9. 回文数(简单)
给你一个整数 x ,如果 x 是一个回文整数,返回 true;否则,返回 false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。输入:x = 121。原创 2023-12-10 07:24:49 · 363 阅读 · 0 评论 -
LCR 182. 动态口令(简单)
某公司门禁密码使用动态口令技术。输入: password = “s3cur1tyC0d3”, target = 4。将 password 前 target 个字符按原顺序移动至字符串末尾。输出: “r1tyC0d3s3cu”设定一个正整数目标值 target。请返回更新后的密码字符串。原创 2023-12-09 16:40:18 · 384 阅读 · 0 评论 -
5. 最长回文子串(中等)
如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。给你一个字符串 s,找到 s 中最长的回文子串。解释:“aba” 同样是符合题意的答案。输入:s = “babad”原创 2023-11-26 14:35:48 · 314 阅读 · 0 评论 -
LCR 122. 路径加密(简单)
假定一段路径记作字符串 path,其中以 “.” 作为分隔符。现需将路径加密,加密方法为将 path 中的分隔符替换为空格 " ",请返回加密后的字符串。输入:path = “a.aef.qerf.bb”输出:“a aef qerf bb”原创 2023-11-26 14:32:50 · 385 阅读 · 0 评论 -
541. 反转字符串 II(简单)
给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。输入:s = “abcdefg”, k = 2。输出:“bacdfeg”原创 2023-11-26 14:30:34 · 352 阅读 · 0 评论 -
28. 找出字符串中第一个匹配项的下标(简单)
给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1。输入:haystack = “sadbutsad”, needle = “sad”解释:“sad” 在下标 0 和 6 处匹配。第一个匹配项的下标是 0 ,所以返回 0。原创 2023-11-26 14:27:08 · 349 阅读 · 0 评论 -
557. 反转字符串中的单词 III(简单)
给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。输入:s = “Let’s take LeetCode contest”输出:“s’teL ekat edoCteeL tsetnoc”原创 2023-11-26 14:24:21 · 370 阅读 · 0 评论 -
151. 反转字符串中的单词(中等)
注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。给你一个字符串 s ,请你反转字符串中 单词 的顺序。输入:s = “the sky is blue”输出:“blue is sky the”原创 2023-11-26 14:17:01 · 387 阅读 · 0 评论 -
647. 回文子串(中等)(LCR 020)
回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。解释:6个回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。输入:s = “abc”输入:s = “aaa”原创 2023-11-12 08:11:52 · 37 阅读 · 0 评论 -
680. 验证回文串 II(简单)(LCR 019)
请你判断 s 是否能成为回文字符串:如果能,返回 true;否则,返回 false。给你一个字符串 s,最多 可以从中删除一个字符。输入:s = “abca”输入:s = “aba”原创 2023-11-12 08:10:27 · 71 阅读 · 0 评论 -
125. 验证回文串(简单)(LCR 018)
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串。给你一个字符串 s,如果它是 回文串 ,返回 true;否则,返回 false。输入: s = “A man, a plan, a canal: Panama”输入:s = “race a car”字母和数字都属于字母数字字符。原创 2023-11-12 08:08:35 · 74 阅读 · 0 评论 -
76. 最小覆盖子串(困难)(LCR 017)
给你一个字符串 s 、一个字符串 t。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “”。输入:s = “ADOBECODEBANC”, t = “ABC”输入:s = “a”, t = “a”原创 2023-11-11 16:45:04 · 45 阅读 · 0 评论 -
3. 无重复字符的最长子串(中等)(LCR 016)
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。输入: s = “abcabcbb”输入: s = “bbbbb”原创 2023-11-11 16:41:17 · 59 阅读 · 0 评论 -
438. 找到字符串中所有字母异位词(中等)(LCR 015)
给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。输入: s = “cbaebabacd”, p = “abc”异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。输入: s = “abab”, p = “ab”输出: [0,1,2]原创 2023-11-11 16:38:23 · 71 阅读 · 0 评论 -
567. 字符串的排列(中等)(LCR 014)
给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true;否则,返回 false。输入:s1 = “ab” s2 = “eidbaooo”输入:s1= “ab” s2 = “eidboaoo”解释:s2 包含 s1 的排列之一 (“ba”).换句话说,s1 的排列之一是 s2 的 子串。原创 2023-11-11 16:35:52 · 77 阅读 · 0 评论 -
844. 比较含退格的字符串(简单)
给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true。输入:s = “ab#c”, t = “ad#c”输入:s = “ab##”, t = “c#d#”注意:如果对空文本输入退格字符,文本继续为空。解释:s 和 t 都会变成 “ac”。解释:s 和 t 都会变成 “”。原创 2023-11-07 22:53:03 · 55 阅读 · 0 评论