[每日算法 - 华为机试] leetcode345 :反转字符串中的元音字母「双指针」
入口
力扣
https://leetcode.cn/problems/reverse-vowels-of-a-string/submissions/
题目描述
给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。
元音字母包括 'a'、'e'、'i'、'o'、'u',且可能以大小写两种形式出现不止一次。
示例 1:
输入:s = "hello"
输出:"holle"
示例 2:输入:s = "leetcode"
输出:"leotcede"
方法一:双指针
class Solution {
public String reverseVowels(String s) {
int n = s.length();
int i=0,j=n-1;
char[] arr = s.toCharArray();
while(i<j){
//注意时while而不是if
while(i<j && !isVoel(arr[i])){
++i;
}
while(i<j && !isVoel(arr[j])){
--j;
}
if(i<j){
swap(arr,i,j);
//!!交换完成后收缩窗口
++i;
--j;
}
}
return new String(arr);
}
public boolean isVoel(char c){
return "aeiouAEIOU".indexOf(c) >= 0;
}
public void swap(char[] arr,int i,int j){
char temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
[每日算法 - 华为机试] leetcode345 :反转字符串中的元音字母「双指针」的更多相关文章
- [Swift]LeetCode345. 反转字符串中的元音字母 | Reverse Vowels of a String
Write a function that takes a string as input and reverse only the vowels of a string. Example 1: In ...
- LeetCode:反转字符串中的元音字母【345】
LeetCode:反转字符串中的元音字母[345] 题目描述 编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "h ...
- Java实现 LeetCode 345 反转字符串中的元音字母
345. 反转字符串中的元音字母 编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "holle" 示例 ...
- Leetcode 345. 反转字符串中的元音字母 By Python
编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "holle" 示例 2: 输入: "leet ...
- 【leetcode 简单】 第八十三题 反转字符串中的元音字母
编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "holle" 示例 2: 输入: "leet ...
- 345 Reverse Vowels of a String 反转字符串中的元音字母
编写一个函数,以字符串作为输入,反转该字符串中的元音字母.示例 1:给定 s = "hello", 返回 "holle".示例 2:给定 s = "l ...
- leetCode题解之反转字符串中的元音字母
1.问题描述 Reverse Vowels of a String Write a function that takes a string as input and reverse only the ...
- Python实现 "反转字符串中的元音字母" 的方法
#coding=utf- def reverseVowels(s): """ :type s: str :rtype: str """ sS ...
- C#LeetCode刷题之#345-反转字符串中的元音字母(Reverse Vowels of a String)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3935 访问. 编写一个函数,以字符串作为输入,反转该字符串中的元 ...
- LeetCode--345--反转字符串中的元音字母
问题描述: 编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "holle" 示例 2: 输入: &quo ...
随机推荐
- 怎么在 Linux 下运行 smart_rtmpd
怎么在 Linux 下运行 smart_rtmpd 操作系统的准备 我们知道比较流行的 Linux 操作系统基本上分为两类,一类是以 Redhat 为基线的 Redhat, CentOS:另一类是 D ...
- 开源flux适配昇腾NPU分享,体验120亿参数AI文生图模型
这一期我们分享一位开源开发者参与flux适配昇腾NPU的实践经验,欢迎广大开发者对华为技术栈适配进行讨论. 开源适配实践 flux是一个AI图像生成模型,有120亿参数量,具有大量的用户基础,可以根据 ...
- Solution Set -「AGC 013~015」C~F
目录 「AGC 013C」Ants on a Circle 「AGC 013D」Piling Up ^ 「AGC 013E」Placing Squares ^ 「AGC 013F」Two Faced ...
- NET Core3.1 Cors 添加跨域支持
在 Startup 里加: services.AddCors(options => options.AddPolicy( DefaultCors, p => p.SetIsOriginAl ...
- 让AI碰撞!“天翼云息壤杯”高校AI大赛江苏赛区交流会热力开场!
由中国电信集团有限公司主办,天翼云科技有限公司承办的"天翼云息壤杯"高校AI大赛正在火热进行中.为了提高江苏赛区学生的参赛热情,增强学生的创作能力,江苏电信.天翼云华东中心于12月 ...
- 解决NuGet加载或下载资源慢的问题
我们在使用NuGet默认的服务地址访问资源时,有时候会遇到加载或下载速度很慢的情况,原因是默认的服务地址是国外的,大家都懂.此时我们可以采取一些"措施",多添加几个国内的资源访问地 ...
- Windows11 + VmWare16 + CentOS-7-x86_64-Minimal-1708.iso 安装
准备环境 电脑环境: VmWare16环境 镜像文件: 开始教程 ①点击新建虚拟机: ②选择第二个.点击下一步 ③根据上面默认即可.点击下一步 ④选择稍后安装操作系统.点击下一步 ⑤选择Linux.C ...
- Clean WeChat X 微信垃圾清理工具,提升硬盘空间
Clean WeChat X是一款专业的微信清理工具,其拥有软件轻巧.干净.高效.免费等等特点,其能识别你电脑里的微信缓存.聊天记录.文件备份.小程序等等信息,方便大家选择性的清理文件. 多账号登录: ...
- Processing 使用pixels[]像素数组绘制矩形rect和圆形ellipse
余温 两次绘制了棋盘格,有了一些经验了,顺着学习态势,我们再接再厉,挖一些技巧.这一次要使用pixels[]数组绘制矩形rect和圆形ellipse,也就是代替rect()和ellipse()两个函数 ...
- Python基础-模块和面向对象-shutil、re、bs4、requests模块
概要: 模块 自定义模块(已经讲了) 内置模块 shutil re 正则表达式 第三方模块 requests 模块 bs4 模块 面向对象: 面向对象(Object-Oriented Programm ...