随笔分类 - 字符串
摘要:题目来源:【赛码】字符串练习 题目描述: 给定一个字符串,问是否能够通过添加一个字母将其变成“回文串”。 “回文串”是指正着和反着读都一样的字符串。如:”aa”,”bob”,”testset”是回文串,”alice”,”time”都不是回文串。 输入描述 一行一个有小写字母构成的字符串,字符串长度不
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/permutation-in-string 题目描述: 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。 换句话说,s1 的排列之一是 s
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string 题目描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指字母相同,但排列不同的字
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/backspace-string-compare 题目描述: 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。 注意:如果对空文本输入退格字符,文本继续为
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/compare-version-numbers/ 题目描述: 给你两个版本号 version1 和 version2 ,请你比较它们。 版本号由一个或多个修订号组成,各修订号由一个 '.' 连接。每个修订号由 多位数字 组成
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/longest-palindrome 题目描述: 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 "Aa" 不能当做一个回文字符串。 注意: 假设字符串的
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/remove-duplicate-letters/ 题目描述: 题解: 1.遍历字符串,记录字符出现次数。 2.定义标记数组,记录字符是否重复出现过。 3.为了确保返回结果的字典序最小,使用单调栈。 class Soluti
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/monotone-increasing-digits/ 题目描述: 题解: 从后往前遍历,遇到strNum[i - 1] > strNum[i]的情况,让strNum[i - 1]--,然后strNum[i]给为9,可以保证
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/partition-labels/ 题目描述: 题解: 解题思路:划分字母区间 1.统计每一个字符最后出现的位置 2.从头遍历字符,并更新字符的最远出现下标,如果找到字符最远出现位置下标和当前下标相等了,则找到了分割点 cl
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 题目描述: 题解: class Solution { public: int lengthOfLongestSubstring(
阅读全文
摘要:题目链接:串联字符串的最大长度 题目描述: 题解: class Solution { public: int maxLen = 0; void backTracking(vector<string>& arr, int index, vector<int>& letters) { int len =
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/reverse-words-in-a-string/ 题目描述: 题解: class Solution { public: string reverseWords(string s) { stack <string> stk
阅读全文
摘要:题目链接: https://leetcode-cn.com/problems/reverse-string-ii/ 题目描述: 题解: 要点:遍历的步长为2 * k。当需要固定规律一段一段去处理字符串的时候,要想想在在for循环的表达式上做做文章。 class Solution { public:
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/ 题目描述: 题解: 空间复杂度:O(1) 1.先找出字符串中含有多少个空格 2.对原字符串空间扩容 3.定义两个指针,一个指向新字符串的末尾,一个指向原始字符串的末尾 class
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/maximum-lcci/ 题目描述: 编写一个方法,找出两个数字a和b中最大的那一个。不得使用if-else或其他比较运算符。 示例: 输入: a = 1, b = 2 输出: 2 题解: 1.溢出处理。两个int相减若用
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/find-common-characters/ 题目描述: 题解: class Solution { public: vector<string> commonChars(vector<string>& words) { v
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/valid-anagram/ 题目描述: 题解: class Solution { public: bool isAnagram(string s, string t) { unordered_map<char, int>
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/largest-number 题目描述: 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。 示例 1: 输入:nums
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/number-of-1-bits 题目描述: 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。 提示: 请注意,在某些语言(如 Java)中,没有无
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/palindrome-partitioning 题目描述: 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1: 输入
阅读全文