程式設計珠璣中的乙個方法。
移動字串abcd efg 變為 efg abcd,可以看成是乙個字串的翻轉問題。
abcd為 x, efg為y, 翻轉x後得到dcba,翻轉y後得到gfe,那麼翻轉dcbagfe得到efgabcd。
另面試題:寫乙個函式,將字串翻轉,翻轉方式如下:「i am a student」反轉成「student a am i」,不借助任何庫函式。
#include
int main()
q--;
while(p<=q)
//反轉整個字串
printf(str);
printf("\n");
char *s;
q=p=s=str;//指標指向開始位置
while(*q!='\0')
//反轉區域性字串
s=q+1;
p=q;
}q++;
p++;
}printf(str);
printf("\n");
}一、首先翻轉整體,然後翻轉區域性,區域性被翻轉兩次,又順序回來。
二、其實先翻轉區域性和先翻轉整體是一樣的。只要保證區域性被翻轉兩次,就可以又得到順序。
如上**將整體和區域性翻轉的**換個位置,一樣可以得到正確結果。
#include
int main()
//反轉區域性字串
s=q+1;
p=q;
}q++;
p++;
}printf(str);
printf("\n");
p=q=str;
while(*q!='\0')
q--;
while(p<=q)
//反轉整個字串
printf(str);
printf("\n");
}
翻轉字串 翻轉單詞字串
將一句話裡面的單詞進行倒置,標點符號不倒換。比如一句話 i come from china.倒換後變成 china.from come i 解析 解決該問題可以分為兩步,第一步全盤置換為 anihc morf emoc i 第二部對每個單詞進行逐步翻轉,如果不是空格,則開始翻轉單詞。具體 如下 in...
字串翻轉
遞迴入門 字串翻 將字串 test 翻轉,變為 tset 解法 遞迴 此題的遞迴跟判斷回文字串的解法原理一樣。只是不是比較兩端字元,而是直接交換。include using namespace std int str turn int low,int high,char p,int length t...
字串翻轉
字串翻轉是常見筆試面試題,記錄下來 include include void reverse const char src char dest intstrlen strlen src while strlen void strrev ms char input char output int le...