Re: [問題] 字串倒轉 - 只倒轉母音
看板C_and_CPP (C/C++)作者EngRookie (EngRookie)時間10年前 (2016/05/11 15:56)推噓0(0推 0噓 9→)留言9則, 6人參與討論串3/3 (看更多)
謝謝上一篇作者的改正,看過題目之後應該有許多人知道小弟正在刷 Leetcode 的題目
但是小弟在 Run Code 的時候可以通過,要 submit solution 的時候卻出現
runtime error
應該是有 overflow 的問題,是否有板大可以幫小弟看看哪裡出問題呢?
或是告知小弟要怎麼檢查這類的問題
感激不盡,謝謝各位
修改程式碼如下:
// ReverseVowelsOfString.cpp : 定義主控台應用程式的進入點。
//
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
bool isVowels(char s)
{
if (s >='A'&& s <='Z')
s += 'a' - 'A';
return s == 'a' || s == 'e' || s == 'i' || s == 'o' || s == 'u';
}
char* reverseVowels(char* s)
{
int L = 0, R = strlen(s) - 1;
char tempChar = NULL;
char *Array = (char *)malloc(strlen(s)*sizeof(char)+1);
for (int i = 0; i < strlen(s); i++)
Array[i] = *(s + i);
while (L < R)
{
while (!isVowels(Array[L]))
L++;
while (!isVowels(Array[R]))
R--;
if (L < R)
{
tempChar = Array[L];
Array[L] = Array[R];
Array[R] = tempChar;
}
L++;
R--;
}
*(Array + strlen(s)) = '\0';
return Array;
}
int main(int argc, char* argv[])
{
char *returnStr = NULL;
returnStr = reverseVowels("Hello");
printf("returnStr = %s\n", returnStr);
returnStr = reverseVowels("LeetCode");
printf("returnStr = %s\n", returnStr);
free(returnStr);
system("pause");
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.255.38
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1462953417.A.0C6.html
※ 編輯: EngRookie (61.220.255.38), 05/11/2016 15:59:37
※ 編輯: EngRookie (61.220.255.38), 05/11/2016 16:00:33
→
05/11 16:11, , 1F
05/11 16:11, 1F
→
05/11 16:20, , 2F
05/11 16:20, 2F
→
05/11 16:23, , 3F
05/11 16:23, 3F
→
05/11 16:30, , 4F
05/11 16:30, 4F
→
05/11 16:30, , 5F
05/11 16:30, 5F
→
05/11 16:33, , 6F
05/11 16:33, 6F
→
05/11 16:43, , 7F
05/11 16:43, 7F
→
05/11 16:46, , 8F
05/11 16:46, 8F
→
05/12 00:42, , 9F
05/12 00:42, 9F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章