当前位置: 首页 > news >正文

建立自己的网站可以采用的方式有沈阳三好街附近做网站

建立自己的网站可以采用的方式有,沈阳三好街附近做网站,app设计原理,网站的宣传推广文章目录字符串1. 反转字符串2. 反转字符串 II3. 替换空格4. 反转字符串中的单词5. 左旋转字符串字符串 1. 反转字符串 344. 反转字符串 思路: 设置两个指针,分别指向字符串首尾,两指针向中间移动,内容交换。 class Solution { …

文章目录

  • 字符串
    • 1. 反转字符串
    • 2. 反转字符串 II
    • 3. 替换空格
    • 4. 反转字符串中的单词
    • 5. 左旋转字符串

字符串

1. 反转字符串

344. 反转字符串

思路:
设置两个指针,分别指向字符串首尾,两指针向中间移动,内容交换。

class Solution {
public:void reverseString(vector<char>& s) {int s_len = s.size();int left = 0, right = s_len - 1;char temp;while (left < right) {temp = s[left];s[left++] = s[right];s[right--] = temp;}}
};

2. 反转字符串 II

541. 反转字符串 II

思路:
将每 2k 的前 k 个进行反转。
每 k 个一判断,如果最后不足 k 个,判断是前一个 k (奇数个),还是后一个 k (偶数个):

  • 奇数个 k,则将其剩余部分反转
  • 偶数个 k,其前 k 个已经反转过了,不用再次反转
class Solution {
private:void myReverse(string &s, int left, int right) {right--;while (left < right) {swap(s[left++], s[right--]);}}public:string reverseStr(string s, int k) {int s_len = s.length();int i = 0;for (i = 0; i < s_len; i += k) {if ((i / k) & 1) {myReverse(s, i - k, i);}}if ((i / k) & 1) { // 剩余部分处理myReverse(s, i - k, s_len);}return s;}
};

3. 替换空格

剑指 Offer 05. 替换空格

思路:

  1. 统计字符串中空格的数目
  2. 将字符串的长度扩展为 原来长度 + 2 * 空格数
  3. 定义两个指针分别从新旧字符串的结尾位置向字符串开头遍历,如果遇到空格,则新数组从后往前填入 02% ,否则直接将旧字符串指针处的值填到新字符串指针所在位置即可
  4. 指针前移至下标为 0。
class Solution {
public:string replaceSpace(string s) {int s_len = s.length();int space_num = 0;for (int i = 0; i < s_len; i++) {if (s[i] == ' ') space_num++;}int new_s_len = s_len + space_num * 2;s.resize(new_s_len);int i = s_len, j = new_s_len;while (i >= 0) {if (s[i] != ' ') {s[j--] = s[i--];} else {s[j--] = '0';s[j--] = '2';s[j--] = '%';i--;}}return s;}
};

4. 反转字符串中的单词

151. 反转字符串中的单词

思路:
0. 把字符串间多余的空格去掉

  1. 将字符串中的每个单词反转
  2. 将整个字符串反转
class Solution {
private:void myReverse(string &s, int left, int right) {while (left < right) {swap(s[left], s[right]);left++;right--;}}public:string reverseWords(string s) {int s_len = s.length();int new_s_len = 0;// 处理多余的空格for (int i = 0; i < s_len; i++) {if (i == 0 && s[i] == ' ') continue;if ((s[i] == ' ' && s[i - 1] == ' ') || (s[i] == ' ' && i == s_len - 1)) continue;else {s[new_s_len++] = s[i];}}while (s[new_s_len - 1] == ' ') new_s_len--; // 把末尾空格去掉s.resize(new_s_len);// 反转每个单词int start_pos = 0;for (int i = 0; i < new_s_len; i++) {if (i == 0 || s[i - 1] == ' ') start_pos = i;if (s[i] == ' ') myReverse(s, start_pos, i - 1);}myReverse(s, start_pos, new_s_len - 1); // 反转最后一个单词// 反转整个字符串myReverse(s, 0, new_s_len - 1);return s;}
};

5. 左旋转字符串

剑指 Offer 58 - II. 左旋转字符串

思路:
本来还想模拟一下,需要整个字符串调整 k 次,看完卡哥的解法,直呼妙不可言!!!

  1. 反转前 n 个字符
  2. 反转后 n 个字符
  3. 反转整个字符
class Solution {
public:string reverseLeftWords(string s, int n) {reverse(s.begin(), s.begin() + n);reverse(s.begin() + n, s.end());reverse(s.begin(), s.end());return s;}
};
http://www.bjxfkj.com.cn/article/110414.html

相关文章:

  • 做网站生意不赚钱织梦技校招生网网站模板整站源码
  • 一流本科专业建设网站wordpress图片无法居中显示
  • 上海网络推广服务公司厦门优化网站排名
  • 江西建设银行官方网站北京市房山建设培训学校网站
  • wordpress行间距龙岗seo网络推广
  • 宿州网站建设贰聚思诚信jsp网站开发实例实验报告
  • c2c交易会被判刑嘛免费seo网站推荐一下软件
  • 做饲料机的川工网站吴江网站建设收费
  • 做网站需要哪些素材做网站挣外快
  • 一个备案号可以用几个网站域名购买需要多少钱
  • 网站集群建设相关的招标如何做电商带货
  • 淘宝客网站整站源码中恒诚信建设有限公司网站
  • 阿里巴巴国际站怎么找客户先锋设计网站
  • 网站开发合同支付成都网站seo
  • 贵州城乡住房建设网站一个企业网站文章多少适合
  • 黄山做网站建网站什么样的域名最好
  • 工业园区网站建设方案手机支付网站开发
  • 怎样让百度快速收录网站珠海专业网站制作公司
  • 网站的作用有哪些襄阳seo优化排名
  • 网站建设背景需要写些什么软件wordpress 1g内存
  • 做网站哪个软件好安平有做网站推广的吗
  • 网站运营课程济南网签查询系统
  • 北京移动端网站设计杭州做网站比较出名的公司
  • 官方网站数据如何做脚注桐庐县网站建设
  • 赚钱的网站开发项目用wordpress做什么内容
  • 无锡做网站哪里好php网站如何做多语言
  • 注册网站安全吗电器类网站设计
  • wordpress 网站标题设置绍兴网站推广
  • 网站建设需要的技术临沂网站建设公司 杨超
  • 网站建设代码介绍网络营销培训哪个好点