C 字串反轉

2021-06-21 16:16:00 字數 2274 閱讀 7789



#演算法實現字串反轉是程式設計師面試和基礎學習中經常碰到的問題,那麼c#演算法實現字串反轉的具體方法是什麼呢?本文就向你介紹這方面的內容。

ad:讓我們來看看c#演算法實現字串反轉的一道面試題,使用c#實現字串反轉演算法。

c#演算法實現字串反轉詳細內容如下:

//////使用c#字串反轉演算法     

/// e.g. 輸入"12345", 輸出"54321"     

///請使用你認為的最優演算法     

///

///input string

///output string

public static string reverse(string str)     

console.readline();     

2. 同上,很多同學在方法中進行輸入和輸出,這個還是沒有函式的思維。最簡單的道理,大多數功能性函式的功能就是通過引數返回結果,類似上面的**,如果其他開發人員是在web應用程式中呼叫這個函式,你的結果卻是在控制台輸出,那誰能看見結果呢?而且我只是說要輸出的字串,沒說要輸出啊,你這都輸出了,呼叫者如果想自己控制輸出怎麼辦?(除非是做某些測試有時會在方法裡進行輸出到log),在面試中如果寫出這樣的**基本也over.

3. 對引數的檢查。這個不是最重要的,但很重要。演算法題按慣例是要對引數的進行一些必要的檢查的(如果是面試測試人員,對細節的考察就更重要了),而且請注意,我們可以丟擲異常,讓呼叫者來決定如何處理異常。

4. 一般大公司的面試演算法題,很少會讓你呼叫類庫的函式的(預設值)。這個題目如果就是呼叫array.reverse()完成的,肯定over。

最後,這道題目考察的其實就是很多人容易犯的錯誤,也是c#面試中的乙個常見考點:string類與stringbuilder類的區別。所以只要**中出現在迴圈中string類的物件疊加的**,基本over。

比如下面這種:

static string reverse(string str)     

return strreturn;     

}    

當使用stringbuilder時,請注意,應在構造stringbuilder物件時指明初始容量,否則預設容量是16個字元,當由於追加字元而超出預設容量時,就會分配乙個新的串緩衝區,大小是原緩衝區的兩倍。

c#演算法實現字串反轉參***:

public static string reverse(string str)      

stringbuilder sb = new stringbuilder(str.length);      

for (int index = str.length - 1; index >= 0; index--)      

return sb.tostring();      

}    

有些同學使用char陣列,我認為也可

public static string reverse(string str)      

char chars = str.tochararray();     

int begin = 0;     

int end = chars.length - 1;     

char tempchar;     

while (begin < end)     

string strresult = new string(chars);     

return strresult;      

}    

c#演算法實現字串反轉的基本情況就向你介紹到這裡

[csharp]view plain

copy

print?

using system;  

using system.collections.generic;  

using system.text;  

char chars = str.tochararray();  

int begin = 0;  

int end = chars.length - 1;  

char tempchar;  

while (begin < end)  

string strresult = new

string(chars);  

return strresult;  

}      

static

void main(string args)  

}  }  /*

fedcba

請按任意鍵繼續. . .*/

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 輸入...

c 字串的反轉

1.編寫乙個名稱為myclass乙個類,在該類中編寫乙個方法,名稱為countchar,返回值為整型,引數兩個,第乙個引數可以是字串 整數 單精度 雙精度,第二個引數為字元,方法功能返回第二個引數在第乙個引數中出現次數。如countchar 6221982 2 返回值為3。2.繼續在該類中編寫一下方...