现在的位置: 首页 > 综合 > 正文

[各种面试题] 删除字符中的b和ac

2017年12月23日 ⁄ 综合 ⁄ 共 334字 ⁄ 字号 评论关闭

删除字符中的b和ac

删除字符分析原题删除字符串中的“b”和“ac”,需要满足如下的条件:

1. 字符串只能遍历一次

2. 不能够使用额外的空间

例如:

1. acbac   ==>  ""

2. aaac    ==>  aa

3. ababac  ==>  aa

4. bbbbd   ==>  d

进一步思考:如何处理aaccac呢,需要做哪些改变呢?

int del(string& A)
{
	int pTail=-1;
	for(size_t i=0;i<A.size();i++)
	{
		if(A[i]=='b')
			continue;
		else if (A[i]=='c')
		{
			if(pTail>=0&&A[pTail]=='a')
				pTail--;
			else
				A[++pTail]='c';
		}
		else
			A[++pTail]=A[i];
	}
	return pTail+1;
}

抱歉!评论已关闭.