青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 89  文章 - 118  trackbacks - 0
<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

留言簿(16)

隨筆分類(56)

隨筆檔案(89)

文章分類

推薦博客

搜索

  •  

最新隨筆

最新評論

閱讀排行榜

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

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

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

程序如下:

 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     // 倒置整個字符串
22     ReverseStr(pStr, len);
23 
24     // 處理頭多余的空格
25     int i = 0;
26     if (pStr[0== ' ')            while (pStr[i] == ' ' && i < len)        i++;
27 
28     // 整個串都是空格
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         // 倒置一個單詞
45         if (pStr[i] == ' ')
46         {
47             ReverseStr(pStr+start, i-start);
48             start = i+1;
49             // 處理內部并列的空格
50             if (pStr[start] == ' ')
51             {
52                 while(pStr[start] == ' ') {i++;start++;};
53             }
54         }
55     }
56 }
57 

 

說實話,如果是突然面對這樣一個問題,要在一張紙上寫下比較完整的程序是不大可能。能邊調試邊寫程序有的時候也是一件幸事。
中秋節要到了,我要換工作了,告別已經工作兩年多熟悉的環境,感覺這兩年沒有太大的進步,奮斗吧,趁著自己還年輕!

posted on 2008-09-12 20:42 胡滿超 閱讀(2235) 評論(5)  編輯 收藏 引用

FeedBack:
# re: 將字符串里詞順序倒置 2008-09-13 13:39 獨履_天涯
樓主現在做什么工作啊,不知道要換什么工作啊?  回復  更多評論
  
# re: 將字符串里詞順序倒置 2008-09-14 22:00 胡滿超
現在在一家公司做程序員,換到另外一家還做程序員,呵呵。  回復  更多評論
  
# re: 將字符串里詞順序倒置 2009-01-09 15:36 yych13
用JAVA解決可能簡單一些:
public void reverseString(String str, String regx) {

String[] split = str.split(regx);
int last = split.length - 1;
StringBuffer result = new StringBuffer();
for (int i = last; i > 0; i--) {
result.append(split[i]);
result.append(regx);
}
result.append(split[0]);
System.out.println(result.toString());
}  回復  更多評論
  
# re: 將字符串里詞順序倒置 2009-02-18 17:14 qingfly
根據這個思路我用PHP使用
<?php
//字符串反置
function ReverseStr (&$str, $len){
$i = 0;
for($i; $i < $len; $i++,$len--){
$ch = $str[$i];
$str[$i] = $str[$len];
$str[$len] = $ch;
}
}

function ReverseStrWord ($word, $len){

if($len == 1) return ;

//倒置全部字符串
ReverseStr(&$word, $len);

//去除字符串前的空格
$i = 0;
if($word[0] == ' ') {
while ($word[$i] == ' ' && $i < $len) {
$i++;}
}

//全是空格返回
if($i == $len) return ;

//去除尾部空格
if($word[$len] == ' ') {
while ($word[$len] == ' ' && $len > $i) {
$len--;}
}

for($start = $i; $i <= $len; $i++ ){

$str .= $word[$i];

if($i == $len){
ReverseStr($str, $i-$start+1);
$R_string .= $str;
break;
}

if($word[$i] == ' '){
ReverseStr($str, $i-$start);
$R_string .= $str;
$str = '';
$start = $i+1;
if($word[$start] == ' '){
while ($word[$start] == ' ') {
$start++;
$i++;
}
}
}
}
return $R_string;
}


$str = "Times New Roman";
$len = strlen($str);
$pstr = ReverseStrWord($str, $len);

?>
  回復  更多評論
  
# re: 將字符串里詞順序倒置 2012-03-19 15:50 張更偉
void inverse(char *p1, char *p2)
{
if (0 == p1 || 0 == p2) return;
while (p1 < p2)
{
char c = *p1;
*p1++ = *p2;
*p2-- = c;
}
}

char* inverse(char * const s)
{
if (0 == s) return s;
const int n = strlen(s);
inverse(s, s + n -1);

char *p1 = s - 1;
char *p2 = p1;

while(++p2 < s + n)
{
if (*p2 == ' ')
{
inverse(p1 + 1, p2 - 1);
p1 = p2;
}
}

inverse(p1 + 1, p2 - 1);
return s;
}
  回復  更多評論
  

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              老司机免费视频久久| 午夜视频在线观看一区二区| 先锋影音网一区二区| 亚洲欧美日韩久久精品 | 欧美日韩精品一区二区三区| 亚洲欧美国产精品桃花 | 久久国产毛片| 欧美二区在线观看| 午夜精品成人在线| 久久九九99| 亚洲一区影院| 欧美激情一区二区三级高清视频| 欧美在线视频一区二区| 欧美激情1区2区3区| 久久岛国电影| 欧美日韩一区二区精品| 久久综合五月| 国产精品高潮呻吟视频| 毛片av中文字幕一区二区| 欧美日韩国产综合视频在线观看中文| 久久gogo国模裸体人体| 麻豆精品在线播放| 欧美一区二区三区日韩| 欧美日本亚洲| 亚洲高清中文字幕| 国产精品乱人伦中文| 欧美成人综合| 亚洲永久免费精品| 欧美久久婷婷综合色| 亚洲电影在线播放| 一个色综合av| 最近看过的日韩成人| 欧美亚洲免费在线| 亚洲一区二区动漫| 欧美精品激情在线| 欧美国产激情二区三区| 韩国av一区| 午夜日韩视频| 欧美伊久线香蕉线新在线| 欧美日韩在线视频一区| 亚洲国产精品尤物yw在线观看| 韩国三级电影一区二区| 欧美一区不卡| 久久精品91| 国产午夜精品一区理论片飘花 | 国产日韩精品一区二区| 在线视频亚洲欧美| 亚洲视频导航| 欧美日韩免费一区| 亚洲精品在线三区| 一区二区高清在线| 欧美日韩精品一本二本三本| 亚洲精品久久久久久一区二区| 亚洲国产三级| 久久综合亚洲社区| 欧美激情日韩| 一本久久a久久免费精品不卡| 女人天堂亚洲aⅴ在线观看| 欧美成人综合一区| 亚洲国产影院| 欧美日韩成人一区二区| 一区二区三区欧美日韩| 中文欧美字幕免费| 国产精品伦理| 欧美中文字幕久久| 久久一区二区三区四区| 在线观看中文字幕亚洲| 欧美77777| 99国产精品视频免费观看一公开| 亚洲视频网在线直播| 国产精品免费网站| 久久xxxx精品视频| 欧美刺激午夜性久久久久久久| 亚洲精品无人区| 欧美亚州一区二区三区| 欧美亚洲一区二区三区| 毛片基地黄久久久久久天堂| 日韩网站在线观看| 国产精品男女猛烈高潮激情| 午夜一区二区三区在线观看| 欧美a级在线| 一区二区三区www| 国产欧美va欧美不卡在线| 久久久久国产精品www| 91久久夜色精品国产九色| 亚洲欧美在线x视频| 在线观看的日韩av| 国产精品爱啪在线线免费观看| 性色一区二区| 亚洲精品一二| 久久九九全国免费精品观看| 亚洲日本va在线观看| 国产精品国产a级| 亚洲一级黄色av| 欧美日韩精品一区二区在线播放| 亚洲一区二区在线观看视频| 蜜臀99久久精品久久久久久软件| 一个人看的www久久| 黄色成人精品网站| 欧美视频一区在线观看| 久久免费的精品国产v∧| 一区二区三区欧美亚洲| 欧美黄色aaaa| 久久一二三四| 性欧美长视频| 一本色道久久综合狠狠躁篇怎么玩 | 日韩视频一区二区在线观看 | 亚洲欧美日韩在线观看a三区 | 日韩午夜黄色| 影音先锋亚洲视频| 国产精品久久久| 欧美精品乱码久久久久久按摩| 欧美一区二区在线免费播放| 夜夜嗨网站十八久久| 亚洲国产激情| 欧美1级日本1级| 久久精品国语| 亚洲欧美日韩精品久久奇米色影视 | 99re6这里只有精品| 欧美不卡三区| 久久久女女女女999久久| 亚洲一区免费| 一本色道久久综合一区| 一区二区自拍| 国产亚洲欧美aaaa| 国产精品国产成人国产三级| 久久久久久亚洲精品中文字幕 | 欧美韩国在线| 欧美成人午夜激情视频| 欧美一区三区三区高中清蜜桃| 一区二区三区你懂的| 欧美成年网站| 米奇777在线欧美播放| 亚洲黄色免费网站| 亚洲国产精品传媒在线观看| 极品少妇一区二区三区精品视频| 欧美日韩小视频| 欧美日韩国产首页| 欧美ab在线视频| 欧美.日韩.国产.一区.二区| 久久精品成人一区二区三区| 久久国产精品黑丝| 亚洲一区三区电影在线观看| 一区二区三区 在线观看视频| 欧美激情视频免费观看| 欧美韩日亚洲| 久久99伊人| 老司机精品视频一区二区三区| 久色婷婷小香蕉久久| 久久男人资源视频| 欧美成人国产va精品日本一级| 久久久久久高潮国产精品视| 久久综合狠狠| 国产精品青草综合久久久久99| 欧美一级专区免费大片| 亚洲一本大道在线| 一区二区欧美激情| 亚洲精选一区| 亚洲在线免费视频| 中文在线不卡| 欧美在线播放视频| 亚洲夜晚福利在线观看| 午夜在线精品偷拍| 久久人人看视频| 久久亚洲一区二区三区四区| 欧美国产日本在线| 欧美国产视频日韩| 国产精品国产三级国产普通话99| 国产欧美日韩另类视频免费观看| 国产精品综合| 亚洲电影免费在线观看| 亚洲国产另类 国产精品国产免费| 99re6热在线精品视频播放速度| 国产一区二区在线观看免费| 1000部精品久久久久久久久| 9i看片成人免费高清| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美午夜寂寞影院| 国产人妖伪娘一区91| 国内精品国语自产拍在线观看| 在线视频观看日韩| 亚洲精品国产精品乱码不99| 亚洲网站在线| 亚洲一区在线播放| 久久久精品tv| 亚洲免费av片| 亚洲欧美在线高清| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美激情在线观看| 国产一区二区三区黄| 欧美大片免费久久精品三p | 国产精品高清在线观看| 国模吧视频一区| 一区二区三区视频在线观看| 亚洲欧美日韩精品久久亚洲区 | 六十路精品视频| 午夜一区二区三视频在线观看 | 性做久久久久久久久| 欧美成人午夜免费视在线看片 | 亚洲国产精品久久人人爱蜜臀|