共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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?