// 申請了 乙個變數儲存串的長度 ,一般面試這個程式就可以了,能寫出這個其實已經很牛 b 了,整上面那個, 估計別人開始懷疑是以前做過這個題目了,呵呵,還得裝傻點
/* 圖示過程:字串 abcdef
s+1 = str = abcdef』/0』 abcdef』/0』 > fbcdea』/0』 > fbcde』/0』a
s+1 = str = bcde』/0 fbcde』/0』a > fecdb』/0』a > fecd』/0』ba
s+1 = str = cd』/0』 fecd』/0』ba > fedc』/0』ba > fed』/0』cba
s+1 = str =』/0』 ,遞迴返回,此時 s= cd』/0』 已經在上一步改為 d』/0』c > dc』/0』 > edcb』/0』 > fedcba』/0』
*/#includeusing namespace std;
char *reverse(char *s)
{ if(strlen(s) == 1)
return s;
//cout<
不申請變數和空間反轉字串
要求 不申請變數和空間 反轉字串 用乙個函式實現。異或 交換或者加減交換的典型應用!via 筆試題 基本思路 從 兩頭往中間做字元交換 字串最後乙個字元是 0 表示結束,沒有實際意義,可以將它 當作中間變數 等處理完成後,再將最後乙個字元置 0 即可 void reverse char s if s...
以單詞為單位反轉字串,要求不申請任何空間
問題描述 存在乙個可讀寫的字串,其中包括若干單詞,單詞間以空格區分,要求以單詞為單位對字串進行反轉。演算法思想 1 利用異或運算可以進行不申請空間進行字元交換 2 利用遞迴的思想 3 使用strchr函式區分單詞 解決方案 1 利用遞迴和異或運算進行字元交換,這一步將完成字串的整體反轉 遞迴進行字元...
字串反轉
據說一道微軟的面試題,要求考慮時間和空間的優化,下面給出幾種通常字串反轉的方法 1 直接陣列操作 char strreverse char str return str 這種做法原來的str沒有儲存,原來的str也改變了 2 指標操作 char strreverse char str return ...