#54. 首字符匹配交换
首字符匹配交换
首字符匹配交换
题目背景
聪聪正在研究字符串处理。他遇到一个有趣的问题,需要对一个字符串数组进行特殊操作。
题目描述
我们定义两个非空字符串“匹配”当且仅当它们非空且它们的第一个字符相同。遍历给定的非空字符串数组,如果一个字符串与数组中较早出现的字符串匹配,则交换这两个字符串。一个特定的首字符只能引起一次交换,因此一旦某个字符引起了交换,它后续的交换操作将被禁用。使用哈希表(map)可以在一次遍历中解决这个问题。这比看起来要难。
输入格式
输入以如下格式从标准输入中给出。
一行,包含多个非空字符串,字符串之间用空格分隔。
输出格式
输出以如下格式输出到标准输出中。
输出一个字符串数组的表示,其中字符串用双引号包裹,元素之间用逗号和空格分隔,整个数组用方括号包裹。
样例
"ab" "ac"
["ac\