#P0478. 数字归位
数字归位
题目描述
你有一个由 0、1、2 组成的字符串。
你可以任意多次交换相邻的 0 和 1,或相邻的 1 和 2(但 0 和 2 不能直接交换)。
有趣的是:因为 1 能和两边“沟通”,整个序列其实可以被完全重排!
所以,要得到字典序最小的结果,答案就是——把所有 0 放前面,接着所有 1,最后所有 2。
给定初始字符串,请输出这个最优排列。
输入格式
第一行输入一个由 、、 构成的字符串(长度不超过 ),表示当前小动物们的队伍。
输出格式
输出字典序最小的可达成字符串。
样例
100210
001120
提示
字典序定义:字符串 的字典序比字符串 小,意思是 在字典里排在 前面。
判断方法:
- 两个字符串从左往右依次比较每个字符,找到第一个不同的位置
- 哪个字符的 ASCII 码更小,整个字符串的字典序就更小
- 如果所有字符相同,长度更短的字典序更小