首页 > 其他分享 >反转字符串中元音字母

反转字符串中元音字母

时间:2024-02-03 23:23:59浏览次数:23  
标签:String 示例 反转 字母 字符串 元音

问题描述:编写一个函数,以字符串作为输入,反转该字符串中的元音字母。

示例 1:
输入: "hello"
输出: "holle"

示例 2:
输入: "leetcode"
输出: "leotcede"

class Solution {
     public String reverseVowels(String s) {
        if(s.length()<=1){
            return s;
        }

        char[] chs = s.toCharArray();

        int i =0;
        int j =chs.length-1;
        while(i<j){
            if(isVowels(chs[i]) && isVowels(chs[j])){
                char tmp = chs[i];
                chs[i] = chs[j];
                chs[j] = tmp;
                i++;
                j--;
            }else if(isVowels(chs[i]) && !isVowels(chs[j])){
                j--;
            }else if(!isVowels(chs[i]) && isVowels(chs[j])){
                i++;
            }else{
                i++;
                j--;
            }
        }
        return new String(chs,0,chs.length);
    }

    //判断该字符是否是元音字母
    private boolean isVowels(char c){
        if((c=='a'|| c=='e'|| c=='i'||c=='o'||c=='u' ) ||
                (c=='A'||c=='E'||c=='I'||c=='O'||c=='U')){
            return true;
        }
        return false;
    }
}

参考:

标签:String,示例,反转,字母,字符串,元音
From: https://www.cnblogs.com/i9code/p/18005400

相关文章

  • 反转字符串
    问题描述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。你可以假设数组中的所有字符都是ASCII码表中的可打印字符。示例1:输入:["h","e"......
  • c语言小练习——字符串长度、拷贝、拼接、比较
    /* 使用c语言知识实现下面程序: 1,实现strlen函数的功能 2,实现strcpy函数的功能 3,实现strcat函数的功能 4,实现strcmp函数的功能 不允许使用已有的str函数*/1#define_CRT_SECURE_NO_WARNINGS2#include<stdio.h>3#include<string.h>4#include<stdbool.h>5#......
  • C语言解题||字符串左旋
    题目:实现一个函数,可以左旋字符串中的k个字符。例如:ABCD左旋1个字符得到BCDAABCD左旋2个字符得到CDAB代码实现:#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<assert.h>#include<string.h>//除第1个外,全部往前1位,然后原第1个填充至极右voidLeft_reverse(......
  • 代码随想录算法训练营第十一天| 20. 有效的括号 1047. 删除字符串中的所有相邻重复
    20.有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。题目链接:20.有效的括号-力扣(LeetCode)思路:只......
  • 字符串操作(1)
    题目P10058[https://www.luogu.com.cn/problem/P10058]这道题要求对字符串进行指定的操作:循环移动和翻转因为要输出操作后的字符串,所以我们不妨在原字符串的基础上进行操作考虑循环移动:因为只需要输出最后一次,所以不难想到我们可以记录最后输出的字符串的第一位在哪里,那么我......
  • 对称字符串-od-python
    题目描述对称就是最大的美学,现有一道关于对称字符串的美学。已知:第1个字符串:R第2个字符串:BR第3个字符串:RBBR第4个字符串:BRRBRBBR第5个字符串:RBBRBRRBBRRBRBBR相信你已经发现规律了,没错!就是第个字符串=第i-1号字符串取反+第i-1号字符串取反(R->B,B->R)现在告诉你n......
  • C#之linq和lamda表达式GroupBy分组拼接字符串
    业务需求:点击提示信息,如:“售后单【SH001】序列号【001,002,006】;售后单【SH002】序列号【003,007,009】。已经过了质保期,确认要继续关闭吗” 核心代码://lamda表达式varerrorMsgObj=getNoPay.GroupBy(s=>s["FBILLNO"]+"").Select(d=>new{......
  • 跟着王洋老师学编程 - 1.8 打字母游戏
    案例简述在一个300*400的窗体上,有10个随机产生的字母向下落,在键盘上敲字母,如果对了就消掉,初始成绩为1000分,每敲对一个字母加10分,如果字母落到屏幕下方,或者敲错扣100分。我的思路-创建一个窗体-创建一个字母画布类——继承画布类Panel、编写构造方法以初始化数据,实现多线程......
  • 字符串构建问题——cf_921_C. Did We Get Everything Covered?
    目录问题概述思路想法参考代码include<bits/stdc++.h>defineFAST_IOios::sync_with_stdio(false),cin.tie(0),cout.tie(0)defineendl'\n'definepllpair<longlong,longlong>definepiipair<int,int>definevivectordefinevlvectordefinelllo......
  • sqlserver特性,自动忽略字符串末尾的空格
    实测发现在sqlserver中查询语句,数据字段末尾存在空格用等于号也可以查询出来例如whereCarNumber=‘粤A23435’和whereCarNumber='粤A23435’查询出来的结果一样,sqlserver会忽视字符串末尾的空格 原因:空字符和空格都不占用存储空间,SQLServer默认其是相等的。结果都是......