您当前的位置: 首页 >  算法

111辄

暂无认证

  • 2浏览

    0关注

    91博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

leecode刷算法C++ | 字符串数组15道题最全总结easy题型 | 删除有序数组中的重复项 | 轮转数组 | 两个数组的交集 | 只出现一次的数字

111辄 发布时间:2021-12-09 20:18:44 ,浏览量:2

共11道数组、字符串相关题目,大多数为简单。 我分为三类,分别为翻转问题、元素重复问题和其它类,使用C++ 翻转问题包括轮转数组、翻转字符串、整数翻转这3道题,元素重复题目包括删除有序数组中的重复项、存在重复元素、只出现一次的数字、字符串中的第一个唯一的字符、两个数组的交集、有效的字母异同位这6道题,还有5道其它类

总结: 1.ans.size()是最常用的,几乎每题都用。其它的如reverse、erase、sort用得也很多 2.翻转问题中可以定义前后两个指针分别往中间走,用while(first 0){ reverse(nums.begin(),nums.end()); reverse1(nums,0,k - 1); reverse1(nums,k,len1 - 1); } } }; 分析

这道题有点意思,其实前后两段是有顺序的,所以将数组全体翻转一次,前后两部分各翻转一次就OK了

细节

像翻转的代码就可以封装起来成函数

知识

直接用reverse是不行的,好像这类函数包括sort等的参数都是迭代器,用数组下标不大行 所以写了个reverse1

344.反转字符串 题目

leetcode,题目链接,简单 在这里插入图片描述

代码
class Solution {
public:
    void reverseString(vector& s) {
        int len1 = s.size();
        int first = 0,last = len1 - 1;

        while(first             
关注
打赏
1648114069
查看更多评论
0.0451s