LeetCode75——Day5

2023-10-15 08:44
文章标签 day5 leetcode75

本文主要是介绍LeetCode75——Day5,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一、题目
    • 二、题解

一、题目

345. Reverse Vowels of a String

Given a string s, reverse only all the vowels in the string and return it.

The vowels are ‘a’, ‘e’, ‘i’, ‘o’, and ‘u’, and they can appear in both lower and upper cases, more than once.

Example 1:

Input: s = “hello”
Output: “holle”
Example 2:

Input: s = “leetcode”
Output: “leotcede”

Constraints:

1 <= s.length <= 3 * 105
s consist of printable ASCII characters.

二、题解

双指针思路,定义左指针left和右指针right

class Solution {
public:string reverseVowels(string s) {int n = s.length();unordered_map<char,int> map;map['A'] = 1;map['a'] = 1;map['E'] = 1;map['e'] = 1;map['I'] = 1;map['i'] = 1;map['O'] = 1;map['o'] = 1;map['U'] = 1;map['u'] = 1;int left = 0;int right = n - 1;while(left < right){while(left < n && !map.count(s[left])) left++;while(right > -1 && !map.count(s[right])) right--;if(left < right) swap(s[left++],s[right--]);}return s;}
};

这篇关于LeetCode75——Day5的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/216615

相关文章

Android智能家居实训day5

今天的内容也还是数据库的通讯,主要是从客户端向服务器发送数据,通过byte数组来模拟客户端可以识别的结构体,但是在发送数据的时候数据是以二进制数的字符串形式传入的所以要将字符串转换为8位无符号整数所以需要进行转换,而在转换的时候byte只有8位在直接进行强转的时候会带入符号位,所以通过先转换成Integer,再转换成byte的时候就只把它后八位砍下来 上代码 cmd = "10100001";

实习项目|苍穹外卖|day5

复习Redis 原来也是跟着黑马学的redis,教程里的项目是点评网站。(也忘记的差不多了) 这里先自己复习一下如何安装和使用。 1.环境 (也有windows版本) 目前来说肯定是在linux(这里使用虚拟机的方式,按照韩顺平老师的linux教程的环境Linux版本为CentOS 7) Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖:yum install

JavaScript Web API入门day5

目录 1.Window对象 1.1 BOM(浏览器对象模型) 1.2 定时器-延时函数 1.3 JS执行机制 1.3.1 问题 1.3.2 解决问题 1.4 location对象 1.5 navigator对象 1.6 histroy对象 2.本地存储 2.1 本地存储介绍 2.2 本地存储分类 2.2.1 本地存储分类 - localStorage 2.2.2 本地存

Leetcode Hot 100刷题记录 -Day5(双指针)

三数之和 问题描述:         给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。 示例 1: 输入:nums = [-1,0,1,2,-1,-4]输出:[

DAY5:HTTPS和HTTP有哪些区别 | HTTPS的工作原理(HTTPS建立连接的过程)| TCP和UDP的区别

目录 HTTPS和HTTP有哪些区别 HTTPS的工作原理(HTTPS建立连接的过程) TCP和UDP的区别 HTTPS和HTTP有哪些区别 两者的主要区别在于安全性和数据加密: 1.加密层:HTTPS在HTTP的基础上增加了SSL/TLS 协议作为加密层,确保数据传输的安全性。而HTTP数据传输是明文的,容易受到攻击。 2.HTTP连接建立相对简单,TCP三次握手之后便可以进行

Linux云计算 |【第二阶段】SECURITY-DAY5

主要内容: iptables防火墙(4表、5链)、filter表控制、扩展匹配、nat表典型应用 一、防火墙概述 1)防火墙技术:隔离内部网络和外部网络的隔离技术; ① 从逻辑上讲,防火墙可以大体分为主机防火墙和网络防火墙: a) 主机防火墙:针对于单个主机进行防护b) 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网; 网络防火墙和主机防

【Linux网络编程入门】Day5_socket编程基础

socket 编程基础 Linux 下的网络编程:socket 编程; socket是内核向应用层提供的一套网络编程接口,用户基于 socket 接口可开发自己的网络相关应用程序。 ⚫ socket 简介 ⚫ socket 编程 API 介绍 ⚫ socket 编程实战 socket 简介 ​ 套接字是 Linux 下的一种进程间通信机制(socket IPC),当然也可以是同一

【进阶篇-Day5:JAVA常用API的使用(Math、BigDecimal、Object、包装类等)】

目录 1、API的概念2、Object类2.1 Object类的介绍2.2 Object的toString()方法2.3 Object的equals()方法2.4 Objects概述 3、Math类4、System类5、BigDecimal类6、包装类6.1 包装类的概念6.2 几种包装类(1)手动转换包装类:(2)自动转换包装类:(3)Integet常用方法:(4)练习: 1

Vue3学习日记(day5)

接下来我们继续探讨文档 event对象 在Vue.js中,$event变量或箭头函数中的event参数用于捕获原始的DOM事件对象。这个对象包含了所有与特定事件相关的信息,比如鼠标点击的位置、键盘按键的键码、触摸事件的触摸点等。 当你在事件处理器中需要做一些基于事件本身的处理时,如阻止默认行为(event.preventDefault())、停止事件传播(event.stopPropag

奋战杭电ACM(DAY5)1012

好吧这又是一道水题……今天第四题……前面几题的算法都没接触过啊啊啊啊啊!!!疯了……军校神烦晚上不能看书,尼玛,明天白天好好看书思考后再写前几题。 以上。 u Calculate e #include <iostream>#include <iomanip>using namespace std;int plus(int a){if(a==0)return 1;else retu