栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

十四天算法快速入门第四天之「双指针」

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

十四天算法快速入门第四天之「双指针」

写在前面:本文题单均来自力扣的算法刷题计划,开这个系列主要是以题目与题解的形式对一些常见、常用算法进行归类和总结,希望在促进自己学习的同时也能帮助到看到这篇文章的大家。另外,本文并非一天一更~(对没错还是我双指针)

目录

题目一:344. 反转字符串 

题目描述:

题目分析:

题解代码:

题目二:557. 反转字符串中的单词 III

题目描述:

题目分析:

题解代码:


题目一:344. 反转字符串 

题目描述:

题目分析:

这题本质就是轴对称翻转,只需以字符串长度的中心为截止点,再设置两个头尾指针,让它们向中心移动,用 swap 函数交换两个指针指向的字符即可。

题解代码:
class Solution {
public:
    void reverseString(vector& s) {
        for(int i=0,j=s.size()-1;i 

题目二:557. 反转字符串中的单词 III 题目描述:

题目分析:

这题首先设置一个变量来循环整个字符串,当遇到空格或截止符(' ')时,对这个位置前一段字符串进行翻转即可。 

对于某段字符串的翻转处理,我们再使用两个指向这段字符串头和尾的头尾指针,然后边交换指向的字符,边向中心移动,直到头尾指针相遇。

另外,要处理的第一段字符串头指针位置是0,尾指针位置是则是遇到空格或截止符(' ')的位置减 1 ,然后头指针的位置始终是遇到的空格或截止符(' ')的位置加 1 ,尾指针位置与上述一致。

题解代码:
class Solution {
public:
    string reverseWords(string s) {
        int begin=0,end;
        for(int i=0;i 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990847.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号