zoukankan      html  css  js  c++  java
  • Leetcode 345 Reverse Vowels in a String

    两个for

    第一个for将每一个元音依次存放进一个char数组

    第二个for,每检测到元音,就从char数尾部开始,依次赋值

    如何检测元音呢?当然写一个冗长的if(),不过我们有更好的选择

    hashset的contains,

    或者String自带的contains,

    或者建一个int[128],因为元音有5个,算上大小写,一共10个,他们的ascii值都在128以内,然后将元音对应的int[]值设为1,其它设为0,只要检测int[strs[i]] ?= 0即可判断是否为元音

     1 class Solution {
     2     public String reverseVowels(String s) {
     3         if(s.length() == 0)
     4             return "";
     5         
     6         String v = "aeiouAEIOU";
     7         char[] vowel = new char[s.length()];
     8         char[] s2 = s.toCharArray();
     9         int idx = 0;
    10         
    11         for(int i=0; i<s.length(); i++){
    12             if(v.contains(s.charAt(i)+""))
    13                 vowel[idx++] = s.charAt(i);
    14         }
    15         
    16         for(int i=0; i<s.length(); i++){
    17             if(v.contains(s.charAt(i)+""))
    18                 s2[i] = vowel[--idx];
    19                 
    20         }
    21         return new String(s2);
    22     }
    23 }
  • 相关阅读:
    ZooKeeperACL机制
    windows结束端口对应的进程
    facenet模型训练
    sourcetree git合并问题
    人脸识别学习
    爬虫 第八天
    WCF nginx反向代理遇到的问题
    WPF WindowChrome 自定义窗口
    WPF svg 转 xmal
    WPF MVVM笔记
  • 原文地址:https://www.cnblogs.com/hwd9654/p/10944066.html
Copyright © 2011-2022 走看看