//通過不同的方法,實現對所輸入字串的反轉,可以很好地複習鞏固 c++ 基礎知識
/*分析過程:
假設要使傳遞的字串為常量const字串,這樣操作更加靈活,可直接傳遞字串字面值進行反轉,常見的解決方法就是,定義乙個新的與傳遞過來字串長度
相等的字元陣列,然後進行字串拷貝,把str字元按從左到右放置到字元陣列中,然後採用迴圈來對字元陣列中字元反轉
/*第一種,採用以上思路解法,傳遞為const型別c風格字元指標,返回為char*型別*/
//直接使用字元陣列賦值
char* strrev1(const char* str)
return temp;//返回反轉後的字元
}//採用指標操作方式
char* strrev2(const char* str)
return ret;
}//與上一函式基本相似,只不過本函式使用是移位操作改變字元指標指向
char* strrev3(const char* str)
return ret;
}//節省幾步,直接給新建的字元陣列賦反轉的值,呵呵,簡單明瞭,只不過迴圈多執行幾次
char* strrev4(const char* str)
return temp;
}//使用遞迴進行字元反轉,網上看的,不過感覺不好,限制太多
//(不能直接反轉常量字串,因為沒有定義新的字元陣列,而是在原陣列上直接進行字元反轉,節省空間,提高效率,還要傳遞字元長度,增加限制,但總歸是個思路)
char* strrev5 (char* str,int len)
/*如果傳遞是std::string型別字串且是const的!!
返回型別為std::string
std::string strrev6(const std::string str)
string r ;//定義乙個新的字串變數,用來接收
string r;
for(int i = 0; i < str.length(); ++i)
return r;
/*如果傳遞是std::string型別字串,但不是const的!!
返回型別為std::string,那你將不必再定義乙個新的字串變數
節省空間,注意:string型別可以直接接受字串字面值就是啦..
std::string strrev6(std::string str)
for(int i = 0; i <= str.length()/2; ++i)
return str;
C 字串反轉
演算法實現字串反轉是程式設計師面試和基礎學習中經常碰到的問題,那麼c 演算法實現字串反轉的具體方法是什麼呢?本文就向你介紹這方面的內容。ad 讓我們來看看c 演算法實現字串反轉的一道面試題,使用c 實現字串反轉演算法。c 演算法實現字串反轉詳細內容如下 使用c 字串反轉演算法 e.g.輸入 1234...
C 反轉字串
string字串和stringbuilder字串的區別 string字串是不可變字串,而stringbuilder是可變字串。每次使用string類構造乙個字串時,都要在記憶體中建立乙個新的字串物件,都要為該新物件分配新的空間。在需要對字串執行重複修改的情況下,建立新的string物件的系統開銷會很...
c 字串反轉
1.編寫乙個函式,其作用是將輸入的字串反轉過來,具體 如下 class solution size t begin 0 size t end s.size 1 while begin2.編寫乙個函式,以字串作為輸入,反轉該字串中的母音字母。示例 1 輸入 hello 輸出 holle 示例 2 輸入...