使用递归删除相邻的重复项

问题描述 投票:0回答:0

不使用任何循环的递归方法 :-递归地从字符串中删除相邻的重复字符

例如:- abbbccb

我们删除所有相邻的 b 从 i = 1 到 i =3 (accb) 然后删除重复的 c (ab),因此结果将是 ab

另一个例子:-

axyyxz

我们删除 y (axxz),然后删除 x (az),没有重复项留下,因此结果 = az。

string processString(string a) 
{
  if (a.length() <= 1) {
        return a;
    }
    string remaining = processString(a.substr(1));
    if (a[0] == remaining[0]) {
        return remaining.substr(1);
    }
    return a[0] + remaining;
}
c++ recursion recursive-datastructures
© www.soinside.com 2019 - 2024. All rights reserved.