Убрать из строки пары символов, идущие подряд - 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();
}
}
}