Принцип работы рекурсии в алгоритме проверки палиндрома - C#

Узнай цену своей работы

Формулировка задачи:

Имеется не большой код на проверку слова(является ли оно палиндромом).Немного не понимаю,как программа запоминает,что был false в конце.Мне почему-то кажется,что они перезаписываются вечно.Немного не понимаю,что программа делает со всеми полученными tru и false(если таковые есть)
Листинг программы
  1. static void Main(string[] args)
  2. {
  3. string s = "acbeca";
  4. bool b = palindrom(s);
  5. string vs = b.ToString();
  6. Console.WriteLine(vs);
  7. Console.ReadKey();
  8. }
  9. public static bool palindrom(string s)
  10. {
  11. if (s.Length == 0) return true;
  12. bool f = palindrom(s.Substring(1, s.Length - 2));
  13. return f & (s[0] == s[s.Length - 1]);
  14. }

Решение задачи: «Принцип работы рекурсии в алгоритме проверки палиндрома»

textual
Листинг программы
  1.         public static bool palindrom(string s)
  2.         {
  3.             if (s.Length == 0) return true; //тут по-моему надо проверять еще на 1, не только на 0
  4.             bool f = palindrom(s.Substring(1, s.Length - 2)); //в этой строке метод вызывает сам себя для входной строки строки, у которой с обоих сторон обрезано по букве
  5.             return f & (s[0] == s[s.Length - 1]); //если эти самые обрезанные буквы равны и предыдущий метод вернул true(то есть каждая пара букв, если их обрезать с разных сторон, была равна), то возвращает true. Иначе-false.
  6.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы