摘要: 题目: 解答: 思路:哈希。 需要满足两个条件: 两个字符串长度相同; 两个字符串中包含的相同字符,数量相同; 1 class Solution { 2 public: 3 bool CheckPermutation(string s1, string s2) 4 { 5 if (s1.size() 阅读全文
posted @ 2020-05-03 23:25 梦醒潇湘 阅读(215) 评论(0) 推荐(0)
摘要: 题目: 解答: 1 class Solution { 2 public: 3 int removePalindromeSub(string s) 4 { 5 if (s.size() == 0) 6 { 7 return 0; 8 } 9 for (int left = 0, right = s.s 阅读全文
posted @ 2020-05-03 23:20 梦醒潇湘 阅读(199) 评论(0) 推荐(0)
摘要: 题目: 解答: 1 class Solution { 2 public: 3 string freqAlphabets(string s) 4 { 5 string ans; 6 for (int i = 0; i < s.size(); ++i) 7 { 8 if (i + 2 < s.size( 阅读全文
posted @ 2020-05-03 23:15 梦醒潇湘 阅读(197) 评论(0) 推荐(0)
摘要: 题目: 解答: 把L看作1,R看作-1,构建前缀和,当前缀和为0时,说明LR个数相等。返回前缀和中0的个数。 1 class Solution { 2 public: 3 int balancedStringSplit(string s) 4 { 5 if (s.size() < 2) 6 { 7 阅读全文
posted @ 2020-05-03 23:13 梦醒潇湘 阅读(191) 评论(0) 推荐(0)
摘要: 题目: 解答: 思路就是先计算每个字符串中,26个字母每个出现的次数(fun函数的功能),然后就是二分查找找出答案。这里二分查找用的函数是标准库的 upper_bound。 1 class Solution { 2 public: 3 vector<int> numSmallerByFrequenc 阅读全文
posted @ 2020-05-03 23:00 梦醒潇湘 阅读(179) 评论(0) 推荐(0)
摘要: 题目: 解法: 1 class Solution { 2 public: 3 string defangIPaddr(string address) 4 { 5 string res ; 6 7 for ( char c : address ) 8 { 9 if ( c == '.' ) 10 { 阅读全文
posted @ 2020-05-03 22:49 梦醒潇湘 阅读(141) 评论(0) 推荐(0)
摘要: 题目: 解答: 1 class Solution { 2 public: 3 bool isLongPressedName(string name, string typed) 4 { 5 int indexN = 0; 6 int indexT = 0; 7 8 // 或的原因是防止typed后面 阅读全文
posted @ 2020-05-03 22:45 梦醒潇湘 阅读(165) 评论(0) 推荐(0)
摘要: 题目: 解答: 用双指针进行判断,当两边都是字母的时候就交换位置,否则,指向不是字母的指针移动,是字母的指针则保持不动,等待交换位置。 1 class Solution { 2 public: 3 string reverseOnlyLetters(string S) 4 { 5 int begin 阅读全文
posted @ 2020-05-03 22:37 梦醒潇湘 阅读(145) 评论(0) 推荐(0)
摘要: 题目: 解答: 只有两种情况下会返回True 1、有两个不一样的字母,交换位置后两个字母相等 2、所有字母都一样,则必须存在重复的字母 1 class Solution { 2 public: 3 bool buddyStrings(string A, string B) 4 { 5 if(A.le 阅读全文
posted @ 2020-05-03 21:31 梦醒潇湘 阅读(174) 评论(0) 推荐(0)
摘要: 题目: 解答: 先用transform函数将字符串转为小写,再遍历字符串搜索单词,建立map 对应的key-value关系,key是单词,value是单词出现次数。 再遍历banned数组,对这些ban的单词出现次数设为INT_MIN,再创建一个迭代器遍历map,找到最大value对应的单词即可。 阅读全文
posted @ 2020-05-03 21:25 梦醒潇湘 阅读(167) 评论(0) 推荐(0)
摘要: 题目: 解答: 方法一:暴力解法【通过】 思路: 遍历从 1 到 N 的每个数字 X,判断 X 是否为好数。 如果 X 中存在 3、4、7 这样的无效数字,则 X 不是一个好数。 如果 X 中不存在 2、5、6、9 这样的旋转后会变成不同的数字,则 X 不是一个好数。 否则,X 可以旋转成一个不同的 阅读全文
posted @ 2020-05-03 21:21 梦醒潇湘 阅读(374) 评论(0) 推荐(0)
摘要: 题目: 解答: 利用ASCII值大小写之间相差32的性质,遇到大写的字母,加上32就是相应的小写字母。 1 class Solution { 2 public: 3 string toLowerCase(string str) 4 { 5 if (str.size() <= 0) 6 { 7 ret 阅读全文
posted @ 2020-05-03 21:16 梦醒潇湘 阅读(199) 评论(0) 推荐(0)
摘要: 题目: 解答: 方法一: 本题的思路和前面的 647. 回文子串的思路相同, 找到每一个满足当前字符和前一个字符组合起来为 '01' 或者 '10' 的字符位置, 然后向前后进行扩展. 本题条件中也需要统计重复出现的字符串个数, 即位置不同的也需要统计, 所以跟前面的题目意思相同 1 class S 阅读全文
posted @ 2020-05-03 21:12 梦醒潇湘 阅读(224) 评论(0) 推荐(0)
摘要: 题目: 解答: 重复累加,当B.size()+temp.size()<n*A.size()时仍不是子串时,就可以判断false了! 原理是因为继续累加temp得到的知识重复的结果,没有意义。 1 class Solution { 2 public: 3 int repeatedStringMatch 阅读全文
posted @ 2020-05-03 21:02 梦醒潇湘 阅读(205) 评论(0) 推荐(0)
摘要: 题目: 解答: 方法一:暴力法 算法: 对于给定字符串中的每个索 i,让我们删除该字符,然后检查结果字符串是否是回文。如果是(或者原始字符串是回文),那么我们将返回 true。 方法二:双指针 最重要一点:只能去掉一个字符1、左指针从第0位开始,右指针从最后一位开始2、定义一个bool容器,用于限定 阅读全文
posted @ 2020-05-03 20:58 梦醒潇湘 阅读(199) 评论(0) 推荐(0)
摘要: 题目: 解法: 我们可以模拟每个指令后机器人所在的位置。 算法: 一开始,机器人在 (x, y) = (0, 0)。如果指令是 'U',机器人会走到 (x, y-1),如果指令是 'R',机器人会走到 (x, y) = (x+1, y),以此类推。 1 class Solution { 2 publ 阅读全文
posted @ 2020-05-03 20:52 梦醒潇湘 阅读(161) 评论(0) 推荐(0)
摘要: 题目: 解法: 方法一:先反转整个字符串,然后在反转每个单词。 方法二:迭代器。 1 class Solution { 2 public: 3 4 string reverseWords(string s) 5 { 6 string::iterator it=s.begin(), bg=it; 7 阅读全文
posted @ 2020-05-03 20:47 梦醒潇湘 阅读(176) 评论(0) 推荐(0)
摘要: 题目: 解答: 此题题目说的很绕,就是 2k 一组,翻转 k 个,如果不够 k ,全部翻转该组。即条件判断是否满 k 个即可。 1 class Solution { 2 public: 3 string reverseStr(string s, int k) 4 { 5 bool flag = fa 阅读全文
posted @ 2020-05-03 20:36 梦醒潇湘 阅读(138) 评论(0) 推荐(0)
摘要: 题目: 解答: 简单来说就是a,b不相等的话就返回a,b最长的长度,否则就-1。 1 class Solution { 2 public: 3 int findLUSlength(string a, string b) 4 { 5 if(a == b) 6 { 7 return -1; 8 } 9 阅读全文
posted @ 2020-05-03 20:09 梦醒潇湘 阅读(159) 评论(0) 推荐(0)
摘要: 题目: 解答: 其实只要记录有多少个大写字母即可,在遍历过程中,如果大写字母的个数小于正在遍历的下标,说明不符合题解,既不是连续的出现大写字母,如 “AaAa” 遍历到第二个 A 时的情况。 最终判断是否为全大写或只是首字母大写即可。 1 class Solution { 2 public: 3 b 阅读全文
posted @ 2020-05-03 20:05 梦醒潇湘 阅读(203) 评论(0) 推荐(0)