Reverse Vowels of a String

来源:互联网 发布:进口美工刀片批发 编辑:程序博客网 时间:2024/05/29 08:58

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”.

代码:

//遍历字符串,temp数组顺序存储元音字母;//再遍历字符串,碰到元音字母从temp数组最后元素往前替换char* reverseVowels(char* s) {    if(strlen(s) <= 1)  return s;    char *head = s;    char *temp = (char *)malloc(strlen(s) * sizeof(char));    int i = 0;    char str[11] = "aAeEiIoOuU";    while(*s != '\0')    {     //strchr() 在一个字符串中查找另一个字符串第一次出现的位置,找到返回这个字符指针,找不到返回NULL;        if(NULL != strchr(str, *s))             temp[i++] = *s;        s++;    }    s = head;    while(*s != '\0')    {         if(NULL != strchr(str, *s))             *s = temp[--i];         printf("%d\n", i);        s++;    }    return head;}
0 0
原创粉丝点击