笔试题目1.一个原始字符串,根据该字符串内每个字符出现的次数,按照ASCII码递增顺序重新调整输出

面试题目1.一个原始字符串,根据该字符串内每个字符出现的次数,按照ASCII码递增顺序重新调整输出

示例:

输入:eeefgghhh

输出:efghegheh

int main()
{
	string s;
	cin >> s;

	typedef map mci;
	mci m;
	for(char c : s)
	{
		m[c]++;
	}
	while(!m.empty())
	{
		mci::iterator it;
		for(it = m.begin(); it != m.end(); )
		{
			cout << it->first;
			it->second--;
			if(it->second == 0)
			{
				/*auto temp = it;
				it++;               
				m.erase(temp); */这里有个指针,野指针问题!
				m.erase(it++);
				
			
			}
			else
			{
				it++;
			}
		}
	}
	cout << endl;
	return 0;
}

你可能感兴趣的:(笔试题目1.一个原始字符串,根据该字符串内每个字符出现的次数,按照ASCII码递增顺序重新调整输出)