Убрать из строки пары символов, идущие подряд - C#

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

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

Всем привет! Подскажите пожалуйста, как из строки убрать 2 символа идущие подряд, а если потом опять оказалось 2 символа, то и их тож удалять пример "fdssd" ->"f"

Решение задачи: «Убрать из строки пары символов, идущие подряд»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace NETExperiments
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             string source = "helleus";
  14.             string expected = "hus";
  15.  
  16.             Stack<char> stack = new Stack<char>();
  17.  
  18.             foreach (char c in source)
  19.             {
  20.                 if (!stack.Any())
  21.                 {
  22.                     stack.Push(c);
  23.                     continue;
  24.                 }
  25.  
  26.                 if (stack.Any() && stack.Peek() == c)
  27.                 {
  28.                     stack.Pop();
  29.                 }
  30.                 else
  31.                 {
  32.                     stack.Push(c);
  33.                 }
  34.             }
  35.  
  36.             string result = new StringBuilder().Append(stack.Reverse().ToArray()).ToString();
  37.  
  38.             Console.WriteLine(result);
  39.  
  40.             Debug.Assert(result.Equals(expected));
  41.  
  42.             Console.ReadKey();
  43.         }
  44.     }
  45. }

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


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

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

14   голосов , оценка 3.929 из 5

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

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

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