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

算法训练营第十五天|344. 反转字符串

今日练习的题目和链接

  • 建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么时候 不用库函数
  • 题目链接:https://leetcode.cn/problems/reverse-string/
  • 视频链接:https://www.bilibili.com/video/BV1fV4y17748

初步思考

如果抛开“考察原理”这层限制,C++ 程序员一行代码就能搞定:

reverse(s.begin(), s.end());

但这道题的目的,恰恰就是让你实现reverse的原理。所以直接调库,就失去了练习的意义。


深度思考:什么时候用库函数?

这是一个经验问题,我总结了一个简单原则:

✅ 可以用库函数的情况

  1. 题目本身不考察该函数的实现

    • 比如:两数之和,你用unordered_map没问题,因为题目考的是哈希表思想,不是让你实现哈希表

    • 比如:需要排序,你用sort没问题,排序不是题目的核心考点

  2. 库函数只是辅助工具,不掩盖核心逻辑

    • 比如:需要交换两个数,用swap没问题

❌ 不该用库函数的情况

  1. 题目明确要求手动实现

    • 比如这道题,就是让你实现reverse

    • 比如实现strcpyatoi等函数

  2. 库函数会直接给出答案

    • 比如反转字符串你直接调reverse,那这道题你还练了什么?

一句话原则

如果库函数本身就是这道题的考点,就不要调;如果库函数只是解题的辅助工具,大胆用。

实现(双指针法)

class Solution { public: void reverseString(vector<char>& s) { int left = 0; int right = s.size() - 1; while (left < right) { // 手写交换,也可以用 swap(s[left], s[right]) char temp = s[left]; s[left] = s[right]; s[right] = temp; left++; right--; } } };

几种交换方式的对比

方法代码可读性推荐度
临时变量char temp = a; a = b; b = temp;⭐⭐⭐⭐⭐最推荐
swap 函数swap(a, b);⭐⭐⭐⭐⭐推荐(C++ 内置)
异或运算a ^= b; b ^= a; a ^= b;⭐⭐不推荐(可读性差)

总结

场景做法原因
这道题手动实现双指针题目考的就是反转原理
日常开发直接用reverse稳定、高效、不用重复造轮子
面试中先问清楚“我可以直接用 reverse 吗?”
http://www.jsqmd.com/news/712719/

相关文章:

  • [Android] 一个靠AI完成基本的构架 app 家物管(永久免费) 正式版
  • Code Claw:用手机遥控VSCode,实现移动AI编程
  • 2026年苏州热门的反力臂制造商推荐,法奇奥智能科技靠谱吗 - 工业推荐榜
  • 2026年|同一篇论文AI率从0升至91%?AI查重有统一标准吗?高效降AI方法必收藏 - 降AI实验室
  • 智慧农业马铃薯叶子土豆叶子病害检测数据集VOC+YOLO格式3004张7类别
  • MCP 2026多模态模型部署:7步完成从HuggingFace多模态Checkpoint到边缘端TensorRT-LLM服务化上线
  • DiffSeg30k:局部AIGC检测与扩散模型编辑基准解析
  • 盘点2026年郑州二手笔记本租赁服务,好用的推荐 - 工业推荐榜
  • 智能音箱遇到的问题(一)
  • Dell G15散热控制终极指南:告别臃肿软件,3步实现精准温度管理
  • 智慧学生管理系统怎么选?学校管理效率轻松翻倍!
  • 5种方法实现Amlogic电视盒子Armbian刷机:从Android到Linux服务器的终极指南
  • 高速驱动AI提效 金士顿固态硬盘破解存储瓶颈
  • 2026年AI大模型API聚合平台排名揭晓!这五家平台脱颖而出,助你开启AI开发新征程
  • AI Agent对话智能分析:从语义理解到自动化报告生成实战
  • 告别手动录入!MinerU智能文档理解服务保姆级使用指南
  • CWM模型与执行跟踪技术在代码调试中的应用
  • 口碑好的AI企业应用平台供应商
  • 2026年宁波工作服制造厂售后排名,哪家售后好性价比高? - 工业推荐榜
  • 多模态模型部署卡点全突破,深度解析MCP 2026标准下ViT-CLIP-LLM联合推理的内存墙、序列依赖与异构调度难题
  • 总结2026年口碑好的浴室柜定制厂家,雅浪卫浴排名情况 - myqiye
  • 基于MCP协议集成火山引擎AI图像生成到开发工具
  • LLM驱动的UI状态自动化评估技术与实践
  • ChatGPT赋能白帽子:AI辅助网络安全攻防实战指南
  • Phi-4-mini-reasoning效果展示:中文数学题→符号计算→自然语言结论全流程
  • 2026年苏州智能制造解决方案提供商排名,法奇奥的团队实力、性价比与用户体验揭秘 - myqiye
  • NCM文件解密终极指南:免费工具快速解锁网易云音乐加密格式
  • 从零构建视觉语言模型(VLM)的核心技术与实践
  • 5大游戏翻译难题:XUnity.AutoTranslator 专业解决方案架构解析
  • 【花雕学编程】Arduino BLDC 之毫米波雷达+光流复合导引机器人