zoukankan      html  css  js  c++  java
  • LeetCode 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".

     1 /*************************************************************************
     2     > File Name: LeetCode345.c
     3     > Author: Juntaran
     4     > Mail: JuntaranMail@gmail.com
     5     > Created Time: Tue 10 May 2016 08:55:33 PM CST
     6  ************************************************************************/
     7  
     8 /*************************************************************************
     9     
    10     Reverse Vowels of a String
    11     
    12     Write a function that takes a string as input 
    13     and reverse only the vowels of a string.
    14 
    15     Example 1:
    16     Given s = "hello", return "holle".
    17 
    18     Example 2:
    19     Given s = "leetcode", return "leotcede".
    20 
    21  ************************************************************************/
    22 
    23 #include <stdio.h>
    24 
    25 int isVowels( char s )
    26 {
    27     int flag = 0;
    28     if( s=='a' || s=='e' || s=='i' || s=='o' || s=='u' || s=='A' || s=='E' || s=='I' || s=='O' || s=='U' )
    29     {
    30         flag = 1;
    31     }
    32     return flag;
    33 }
    34 
    35 char* reverseVowels( char* s )
    36 {
    37     int left  = 0;
    38     int right = strlen(s) - 1;
    39     
    40     printf("%c %c
    ", s[left], s[right]);
    41     char temp;
    42     
    43     
    44     while( left < right )
    45     {
    46         printf("%d %d
    ", left, right);
    47         if( isVowels(s[left]) == 1 )
    48         {
    49             if( isVowels(s[right]) == 1 )
    50             {
    51                 temp = s[left];
    52                 s[left] = s[right];
    53                 s[right] = temp;
    54                 
    55                 left ++;
    56                 right--;
    57                 printf("%s
    ", s);
    58             }
    59             else
    60             {
    61                 right--;
    62             }
    63         }
    64         else
    65         {
    66             left ++;
    67         }
    68     }
    69     return s;
    70 }
    71 
    72 int main()
    73 {
    74     char* s = "leetcode";
    75     printf("%s
    ", s);
    76     char* reverseS = reverseVowels(s);
    77     printf("%s
    ", s);
    78     
    79     
    80     return 0;
    81 }
  • 相关阅读:
    Python面试题汇总
    异常处理及反射
    DOM
    socket
    python生成器、迭代器、列表 字典 集合解析、迭代器表达式
    C++繁琐的类型转换,C++小知识之四种类型转换
    C++命名空间
    C++合并exe文件,将两个合并成一个
    BERT 之后,Transformer 还会出现高光时刻吗
    App开发常见布局,流式布局讲解
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5482787.html
Copyright © 2011-2022 走看看