字符串
anieoo
这个作者很懒,什么都没留下…
展开
-
71. 简化路径
原题链接:71. 简化路径 solution: ① 以'/'为分隔符分割字符串,这样就可以提取'/'间有效的内容,保存在items中 ② 利用栈的性质,遍历items,如果遇到的不是'.'、'..'和空字符串就把内容入栈,如果遇到的是'..'就把栈顶内容弹出。 ③ 最后保存答案...原创 2022-06-13 18:43:36 · 167 阅读 · 0 评论 -
459. 重复的子字符串
原题链接:459. 重复的子字符串 solution: 复习KMP,将next数组打印出来就可以发现规律 class Solution { public: vector<int> ne_str(string p) { //求解next数组 int n = p.size(); p = " " + p; //使下标从1开始 vector<int> ne(n + 1); for(...原创 2022-05-22 14:31:09 · 82 阅读 · 0 评论 -
28. 实现 strStr()
原题链接:28. 实现 strStr() solution: 复习一遍KMP class Solution { public: int strStr(string haystack, string needle) { int m = haystack.size(); int n = needle.size(); vector<int> ne = ne_str(needle); //得到needle的n...原创 2022-05-22 13:47:22 · 71 阅读 · 0 评论 -
151. 颠倒字符串中的单词
原题链接:151. 颠倒字符串中的单词 solution: 本题分为三个步骤: ① 遍历字符串把无效的空格删除 ② 将字符串中的每一个单词进行翻转 ③ 最后将整个字符串进行翻转 考虑到题目要求原地修改,并且O(1)额外空间复杂度,代码如下: ① 首先遍历字符串的时候遇到空格就跳过,这样就可以处理字符串头部的空格。 ② 直到遇到单词就停下,将单词向前拷贝,并颠倒顺序。 ③ 每向前拷贝一...原创 2022-05-21 12:28:27 · 209 阅读 · 0 评论 -
541. 反转字符串 II
原题链接:541. 反转字符串 II solution: 每隔k个反转k个,最后剩余字符串不够k个全部反转 class Solution { public: string reverseStr(string s, int k) { int n = s.size(); for(int i = 0;i < n;i += 2 * k) { if(i + k < n) { reve...原创 2022-05-21 10:34:03 · 94 阅读 · 0 评论