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

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

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

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

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

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
 
namespace NETExperiments
{
    class Program
    {
        static void Main(string[] args)
        {
            string source = "helleus";
            string expected = "hus";
 
            Stack<char> stack = new Stack<char>();
 
            foreach (char c in source)
            {
                if (!stack.Any())
                {
                    stack.Push(c);
                    continue;
                }
 
                if (stack.Any() && stack.Peek() == c)
                {
                    stack.Pop();
                }
                else
                {
                    stack.Push(c);
                }
            }
 
            string result = new StringBuilder().Append(stack.Reverse().ToArray()).ToString();
 
            Console.WriteLine(result);
 
            Debug.Assert(result.Equals(expected));
 
            Console.ReadKey();
        }
    }
}

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


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

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

14   голосов , оценка 3.929 из 5
Похожие ответы