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

代码随想录算法训练营第八天-字符串-344. 反转字符串

  • 力扣题目:344. 反转字符串
  • 就是交换头尾字符的位置
  • 使用双指针来完成,头指针从首字母开始,尾指针从尾字母开始
  • 两个指针一个从前向后移动,一个指针从后向前移动,直接头指针的位置比尾位置不大于时停止
  • 这是算法中最基础的部分,但写起来还是出错了,尾指针忘记加减减
  • 这里所说的指针就是字符数组的下标的值
#include <iostream>
#include <vector>

class Solution {
public:
    void reverseString(std::vector<char>& s) {
        int len = s.size();
        for (int i = 0, j = len - 1; i < len / 2; ++i, --j)
            std::swap(s.at(i), s.at(j));
    }
};
int main()
{
    std::vector<char> str {'a', 'b', 'c', 'd', 'e'};
    Solution s;
    s.reverseString(str);
    for (auto c: str)
        std::cout << c << " ";
    std::cout << std::endl;
    return 0;
}
  • 汇总

http://www.kler.cn/a/442874.html

相关文章:

  • 景联文科技提供高质量多模态数据处理服务,驱动AI新时代
  • verilogHDL仿真详解
  • 【机器学习:八、逻辑回归】
  • OpenCV中的识别图片颜色并绘制轮廓
  • 深度解析:推荐系统的进化之路与深度学习革命
  • vue3中的v-model如何自定义修饰符
  • 科技的成就(六十六)
  • 快捷工具网(www.onlinetool7.com)提供Android KeyCode对照表,帮助开发者轻松理解按键事件
  • uniapp中的uni-file-picker组件上传多张图片到服务器
  • C++ Qt 模板函数和函数重载
  • 1.Nuxt学习 搭建项目 渲染页面基本操作
  • RabbitMQ的核心组件有哪些?
  • 【操作系统】每日 3 题(七十一)
  • 深度学习物体检测之YOLOV5源码解读
  • 为markdown导出的pdf添加页眉页脚
  • 分享一次接口性能摸底测试过程
  • qt 鼠标点击事件
  • Servlet学习中遇到的一些问题及解决
  • 从零开始学习 sg200x 多核开发之 sophpi 编译生成 fip.bin 流程梳理
  • docker修改容器网络
  • Cobalt Strike 4.8 用户指南-第十四节 Aggressor 脚本
  • 强化学习Q-learning及其在机器人路径规划系统中的应用研究,matlab代码
  • ubuntu禁用内核更新