出於好奇,寫了一個遞歸字符串反轉函數,但在XOR有一點問題。這個函數的全部重點是不使用迭代器,這就是爲什麼它是一個遞歸函數。這不是家庭作業,只是好奇心。遞歸字符串反轉函數
private static char[] ReverseNL(char[] arr, int index)
{
var len = arr.Length;
if (index > 0)
arr[len - index] ^= arr[index - 1];
return index-- < 1 ? arr : ReverseNL(arr, index);
}
似乎jamble我的字符串
的第一部分 「嘿那裏堆!」變成「我♫→A←E↨reht星爺」
它始終是被搞亂這句話的前半部分......
UPDATE ..
我想XOR是不是真的需要這裏..所以用基本的任務,也擺脫了回報。
private static void ReverseNL(char[] arr, int index) {
var len = arr.Length;
if (index > 0 && index > len/2) {
var c = arr[len - index];
arr[len - index] = arr[index - 1];
arr[index - 1] = c;
index--;
ReverseNL(arr, index);
}
}
你幾歲? – NullUserException 2010-08-06 14:10:28
@NullUserException - 顯然已經夠老了,以至於在一個問題中引用South Park類的歌曲(不管它是否合適是另一個問題)。 – 2010-08-06 14:12:51
我建議將您的字符串更改爲更標準的短語,例如:「快速棕色狐狸跳過懶惰狗」 – 2010-08-06 14:13:28