06. Replace Repeating Chars - Text Processing Exercises
Здравейте, имам следният въпрос за тази задача https://judge.softuni.bg/Contests/Practice/Index/1217#5
ето условието :
Write a program that reads a string from the console and replaces any sequence of the same letters with a single corresponding letter.
Examples
Input |
Output |
aaaaabbbbbcdddeeeedssaa |
abcdedsa |
qqqwerqwecccwd |
qwerqwecwd |
Въпросът ми е защо не работи правилно кода когато използвам str.Remove(str[i]);, а работи правилно когато използвам str.RemoveAt(i);
Каква е разликата ?
ето и кода:
using System;
using System.Linq;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
var str = Console.ReadLine().ToList();
for (int i = 0; i < str.Count - 1; i++)
{
char curr = str[i];
char next = str[i +1];
if (curr == next)
{
str.RemoveAt(i);
//str.Remove(str[i]); така не работи правилно ,защо ?
i--;
}
}
Console.WriteLine(string.Join("", str));
}
}
}
Благодаря за пояснението, бях забелязъл, но се чудех защо, хем си го пише в описанието на метода.