345. Reverse Vowels of a String

Write a function that takes a string as input and reverse only the vowels of a string.

Example 1:
Given s = "hello", return "holle".

Example 2:
Given s = "leetcode", return "leotcede".

Note:
The vowels does not include the letter "y".

Solution 1:

class Solution {

    public String reverseVowels(String s) {

        if (s == null || s.length() == 0)

            return s;

        String vowels = "aeiouAEIOU";

        char[] ch = s.toCharArray();

        int start = 0;

        int end = s.length() - 1;

        while (start < end) {

            while (start < end && !vowels.contains(ch[start]+"")) { //这里必须要加start < end,否则在交换之后又会换回来,这里只能是<,不能=,否则后面ch[start]会有越界异常

                start++;             

            }

            while (start < end && !vowels.contains(ch[end]+"")) {//这里必须要加start < end

                end--;             

            }

            char temp = ch[start];

            ch[start] = ch[end];

            ch[end] = temp;

            start++;

            end--; 

        }      

        return new String(ch);

    }

}

posted @   MarkLeeBYR  阅读(81)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示