代码随想录训练营第七天 344反转字符串 541反转字符串II 替换数字

第一题:

原题链接:344. 反转字符串 - 力扣(LeetCode)

思路:

双指针,一根指向字符串的头部,一根指向字符串的尾部。两个指针向中间移动,交换两根指针指向的值。

代码如下:

class Solution {
public:
    void reverseString(vector<char>& s) {
        for(int i = 0, j = s.size() - 1; i < j; i++, j--){
            swap(s[i], s[j]);
        }
        return;
    }
};

第二题:

原题链接:541. 反转字符串 II - 力扣(LeetCode)

思路:

题目要求的是遍历到2k个字符然后反转2k字符的前k个字符。

于是我们遍历的时候直接i += 2 * k。这样我们就直接指向要反转的第一个元素。然后判断i + k是否超过了边界,如果没有超过直接反转前k个元素即可,若超过了就反转剩下的元素。

代码如下:

class Solution {
public:
    string reverseStr(string s, int k) {
        for(int i = 0; i < s.size(); i+=2 * k){
            if(i + k <= s.size()){
                for(int m = i, n = i + k - 1; m < n; m++, n--){
                    swap(s[m], s[n]);
                }
            }else{
                for(int m = i, n = s.size() - 1; m < n; m++, n--){
                    swap(s[m], s[n]);
                }
            }
        }
        return s;
    }
};

反转可以用reverse(s.begin() + i, s.begin() + i + k);

第三题:

原题链接54. 替换数字(第八期模拟笔试) (kamacoder.com)

思路:

先找出这个字符串中出现数字的个数,然后乘5,然后将字符串扩容。

然后从末尾遍历将字符填入对应的位置。

相关推荐

最近更新

  1. Ubuntu 下 Docker安装 2024

    2024-06-14 08:02:07       0 阅读
  2. C#中序列化和反序列化

    2024-06-14 08:02:07       0 阅读
  3. 微服务节流阀:Eureka中服务限流策略的精妙实现

    2024-06-14 08:02:07       0 阅读
  4. LVS集群

    LVS集群

    2024-06-14 08:02:07      0 阅读
  5. 力扣 设计链表707

    2024-06-14 08:02:07       1 阅读

热门阅读

  1. DES文件加密解密(增强版)

    2024-06-14 08:02:07       8 阅读
  2. 等保测评练习题11

    2024-06-14 08:02:07       5 阅读
  3. ES的高可用

    2024-06-14 08:02:07       9 阅读
  4. C++240613

    C++240613

    2024-06-14 08:02:07      6 阅读
  5. 通过图片demo生成随机图片

    2024-06-14 08:02:07       6 阅读
  6. HTTP与HTTPS

    2024-06-14 08:02:07       6 阅读
  7. 网络安全练气篇——Web与Http基础

    2024-06-14 08:02:07       7 阅读
  8. Postman接口测试工具:全面解析与应用指南

    2024-06-14 08:02:07       8 阅读
  9. 掌握Mock.js基本使用:快速模拟API实现增删改查

    2024-06-14 08:02:07       8 阅读
  10. IETAB 在线用印失败的问题排查

    2024-06-14 08:02:07       8 阅读
  11. HTML5 新元素

    2024-06-14 08:02:07       10 阅读
  12. 综合数据分析及可视化实战

    2024-06-14 08:02:07       9 阅读
  13. 【React】React 的useDebugValue作用是什么,怎么使用

    2024-06-14 08:02:07       5 阅读
  14. 介绍react

    2024-06-14 08:02:07       6 阅读
  15. van-list 遇到的问题

    2024-06-14 08:02:07       5 阅读