当前位置:网站首页>leetcode之反转字符串中的元音字母
leetcode之反转字符串中的元音字母
2020-11-08 23:48:00 【go4it】
序
本文主要记录一下leetcode之反转字符串中的元音字母
题目
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
输入:"hello"
输出:"holle"
示例 2:
输入:"leetcode"
输出:"leotcede"
提示:
元音字母不包含字母 "y" 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-vowels-of-a-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解
class Solution {
Set<Character> set = new HashSet(){{
add('a');
add('e');
add('i');
add('o');
add('u');
add('A');
add('E');
add('I');
add('O');
add('U');
}};
public String reverseVowels(String s) {
int i = 0;
int j = s.length() - 1;
char[] chars = s.toCharArray();
while(i < j) {
while (!set.contains(chars[i]) && i<j) {
i++;
}
while (!set.contains(chars[j]) && i<j) {
j--;
}
if (i < j) {
char tmp = chars[i];
chars[i] = chars[j];
chars[j] = tmp;
i++;
j--;
}
}
return new String(chars);
}
}
小结
这里先使用HashSet存放大小写的元音字母,之后使用头尾指针同时对字符串数组进行遍历,当i指向的字符与j指向的字符都是元音时,进行交换同时更新指针,不是元音字符时仅仅更新指针。
doc
版权声明
本文为[go4it]所创,转载请带上原文链接,感谢
https://my.oschina.net/go4it/blog/4708427
边栏推荐
- Creating a text cloud or label cloud in Python
- Why need to use API management platform
- 给大家介绍下,这是我的流程图软件 —— draw.io
- Solve the problem that the value of new date() of JS in IE and Firefox is invalid date and Nan Nan
- leetcode之反转字符串中的元音字母
- Flink's datasource Trilogy 3: customization
- 当我们聊数据质量的时候,我们在聊些什么?
- Classical dynamic programming: longest common subsequence
- Experiment 1 assignment
- 非阻塞的无界线程安全队列 —— ConcurrentLinkedQueue
猜你喜欢
老大问我:“建表为啥还设置个自增 id ?用流水号当主键不正好么?”
Solve the failure of go get download package
选择排序
What courses will AI programming learn?
Come and have a look! What is the relationship between AQS and countdownlatch?
信息安全课程设计第一周任务(7条指令的分析)
c++11-17 模板核心知识(二)—— 类模板
Development and deployment of image classifier application with fastai
装饰器(一)
实验一作业
随机推荐
Five design schemes of singleton mode
The minimum insertion times of palindrome
Looking for a small immutable dictionary with better performance
Dynamic programming: maximum subarray
Five factors to consider before choosing API management platform
教你如何 分析 Android ANR 问题
Mycat搭建
Decorator (1)
Come and have a look! What is the relationship between AQS and countdownlatch?
计算机网络 应用层
Dynamic ReLU:微软推出提点神器,可能是最好的ReLU改进 | ECCV 2020
The road of cloud computing - going to sea - small goal: Hello world from. Net 5.0 on AWS
Pipedrive如何在每天部署50+次的情况下支持质量发布?
Nodejs中request出现ESOCKETTIMEDOUT解决方案
200 programmers interview experience, all here
Python的特性与搭建环境
Deep copy
API生命周期的5个阶段
Leetcode 45 jumping game II
How to deploy pytorch lightning model to production