• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            面對(duì)現(xiàn)實(shí),超越自己
            逆水行舟,不進(jìn)則退
            posts - 269,comments - 32,trackbacks - 0

            轉(zhuǎn)自:http://www.shnenglu.com/humanchao/archive/2008/09/12/61708.html

            將字符串里詞順序倒置,如"Times New Roman"變?yōu)?Roman New Times"。以空格為分隔符。

            解決方案為:先將整個(gè)字串倒置,然后依次把倒置后串中的每一個(gè)單詞倒置。

            這個(gè)問題解答的思路很簡單,但是要考慮到很多種的情況,比如字符串的頭、尾有多余的空格怎么辦,如果字符串中只有空格,還有字符串中間可能會(huì)有兩個(gè)以上并列的空格。

            程序如下:

             1 void ReverseStr(char *pStr, int len)
             2 {
             3     assert(pStr);
             4     
             5     char ch;
             6     for (int i = 0; i < len/2 ; i++)
             7     {
             8         ch = pStr[i];
             9         pStr[i] = pStr[len-1-i];
            10         pStr[len-1-i] = ch;
            11     }
            12 }
            13 
            14 void ReverseStrWord(char *pStr, int len)
            15 {
            16     assert(pStr);
            17 
            18     if (len <= 1)
            19         return;
            20 
            21     // 倒置整個(gè)字符串
            22     ReverseStr(pStr, len);
            23 
            24     // 處理頭多余的空格
            25     int i = 0;
            26     if (pStr[0== ' ')            while (pStr[i] == ' ' && i < len)        i++;
            27 
            28     // 整個(gè)串都是空格
            29     if (i == len)
            30         return;
            31 
            32     // 處理尾多余的空格
            33     if (pStr[len - 1== ' ')    while (pStr[len - 1== ' ' && len - 1 > 0)    len--;
            34 
            35     for (int start = i; i < len; i++)
            36     {
            37         // 最后的end要+1
            38         if (i == len-1)
            39         {
            40             ReverseStr(pStr+start, i-start+1);
            41             break;
            42         }
            43 
            44         // 倒置一個(gè)單詞
            45         if (pStr[i] == ' ')
            46         {
            47             ReverseStr(pStr+start, i-start);
            48             start = i+1;
            49             // 處理內(nèi)部并列的空格
            50             if (pStr[start] == ' ')
            51             {
            52                 while(pStr[start] == ' ') {i++;start++;};
            53             }
            54         }
            55     }
            56 }
            57 

             

            posted on 2012-04-09 13:47 王海光 閱讀(420) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 算法
            伊人久久无码精品中文字幕| 久久久久久精品免费看SSS| 99久久国产综合精品麻豆| 久久国产精品一区二区| 久久久久香蕉视频| 久久综合给合久久狠狠狠97色69| 精品综合久久久久久97超人| 久久中文字幕无码专区 | 人妻精品久久久久中文字幕69| 成人久久精品一区二区三区| 亚洲一级Av无码毛片久久精品| 日本强好片久久久久久AAA| 久久精品亚洲精品国产欧美| 精品久久无码中文字幕| 精品久久久久久综合日本| 99久久99久久精品国产片果冻| 久久婷婷国产剧情内射白浆| 久久精品国产99久久丝袜| 久久免费的精品国产V∧| 综合久久一区二区三区 | 久久er99热精品一区二区| 色偷偷88欧美精品久久久| 青草影院天堂男人久久| 久久精品无码一区二区无码| 欧美亚洲国产精品久久| 久久久免费观成人影院| 伊人久久综在合线亚洲2019| 久久久久无码精品国产不卡| 久久精品无码一区二区WWW| 亚洲国产成人精品无码久久久久久综合| 日本一区精品久久久久影院| 国内精品伊人久久久久AV影院| 久久综合给合久久国产免费| 漂亮人妻被黑人久久精品| 午夜人妻久久久久久久久| 一本色道久久HEZYO无码| 久久精品免费一区二区| 亚洲欧美日韩中文久久| 久久棈精品久久久久久噜噜| 国产成人精品免费久久久久| 国产亚洲美女精品久久久久狼|