Убрать из строки пары символов, идущие подряд - 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();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д