LeetCode-824劃水記錄3-創(chuàng)新互聯

給定一個由空格分割單詞的句子 S。每個單詞只包含大寫或小寫字母。

網站建設哪家好,找創(chuàng)新互聯!專注于網頁設計、網站建設、微信開發(fā)、微信平臺小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯還提供了新泰免費建站歡迎大家使用!

我們要將句子轉換為 “Goat Latin”(一種類似于 豬拉丁文 - Pig Latin 的虛構語言)。

山羊拉丁文的規(guī)則如下:

如果單詞以元音開頭(a, e, i, o, u),在單詞后添加"ma"。
例如,單詞"apple"變?yōu)?quot;applema"。

如果單詞以輔音字母開頭(即非元音字母),移除第一個字符并將它放到末尾,之后再添加"ma"。
例如,單詞"goat"變?yōu)?quot;oatgma"。

根據單詞在句子中的索引,在單詞最后添加與索引相同數量的字母'a',索引從1開始。
例如,在第一個單詞后添加"a",在第二個單詞后添加"aa",以此類推。
返回將 S 轉換為山羊拉丁文后的句子。

示例 1:

輸入: "I speak Goat Latin"
輸出: "Imaa peaksmaaa oatGmaaaa atinLmaaaaa"
示例 2:

輸入: "The quick brown fox jumped over the lazy dog"
輸出: "heTmaa uickqmaaa rownbmaaaa oxfmaaaaa umpedjmaaaaaa overmaaaaaaa hetmaaaaaaaa azylmaaaaaaaaa ogdmaaaaaaaaaa"
說明:

S 中僅包含大小寫字母和空格。單詞間有且僅有一個空格。
1 <= S.length <= 150。

思路不難,但是寫的時候有好多bug出現,調試了好多此,果然是水平還不夠,代碼都不是自己熟悉的模型。導致不斷產生bug。。誒。。

string toGoatLatin(string S) {
    int ZFCCD = S.size();
    int SFYY = 0, FYYSY = 0, KGSM = 0, YSCDSY = 0, XHBL = 0, XHBL2 = 0;
    char *ZFCZZ = (char*)S.data();
    char XXZM = 0;
    char SXZM = 0;
    string ZZD;
    for (XHBL=0; XHBL <ZFCCD; XHBL++)
    {
        if ((XHBL == 0 || (ZFCZZ[XHBL-1])==' '))        //首字母
        {
            if (ZFCZZ[XHBL] >= 'A' && ZFCZZ[XHBL] <= 'Z')
            {
                XXZM = ZFCZZ[XHBL] + 32;
            }
            else
                XXZM = ZFCZZ[XHBL];
            if (XXZM == 'a' || XXZM == 'o' || XXZM == 'i' || XXZM == 'u' || XXZM == 'e')
                SFYY = 1;

            YSCDSY = ZZD.size();
            FYYSY = XHBL;
        }
        if (ZFCZZ[XHBL] == ' ' || ZFCZZ[XHBL+1] == 0)   //一個單詞結尾了
        {
            if (ZFCZZ[XHBL + 1] == 0)
                ZZD += ZFCZZ[XHBL];

            if (!SFYY)//輔音
            {
                ZZD += (ZFCZZ[FYYSY]);
                ZZD=ZZD.erase(YSCDSY,1);
            }
            ZZD += "ma";
            KGSM++;
            for (XHBL2 = 0; XHBL2 < KGSM; XHBL2++)
                ZZD += 'a';
            if(ZFCZZ[XHBL + 1] != 0)
            ZZD += ' ';
            SFYY = 0;
            continue;
        }
        ZZD += ZFCZZ[XHBL];
    }
    return ZZD;
}

這leetcode的時間我是有點迷 的。
LeetCode-824 劃水記錄3

另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前標題:LeetCode-824劃水記錄3-創(chuàng)新互聯
文章出自:http://bm7419.com/article30/diooso.html

成都網站建設公司_創(chuàng)新互聯,為您提供軟件開發(fā)、虛擬主機、標簽優(yōu)化、網站改版、網頁設計公司、外貿網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

手機網站建設