Предыстория: Меня пригласили на собеседование в крупную компанию, и мне задали следующий вопрос, прежде чем мне сказали, что я провалил собеседование на должность (C#, mvc3, razor). Мне искренне интересно, как это решить.
Вопрос: «Напишите метод, который берет массив символов, обрезает пробелы и возвращает тот же массив».
После некоторого размышления мне сказали заменить пробел на «\o».
Я начал с:
public static char[] Trim(char[] c)
{
for (int i = 0; i < c.Length; i++)
{
if (c[i] == '\r' || c[i] == '\n' || c[i] == '\t')
{
c[i] = '\o';
}
}
}
Мне сказали, что я должен использовать тот же массив, не могу поместить его в список и вызвать ToArray()
. Однако я думаю, что если массив остается того же размера, его невозможно «обрезать».