特判思路:
1.如果有两个及以上的数位都出现了奇数次,则无法构造回文串
2.如果0出现2次以上,而且其他只有一个数位出现过且只出现了一次,则无法规避前导0,所以也无法构造(样例4)
3.下面开始构造:所有的数位次数累加,得到最终的字符串长度n,如果有数位出现次数为奇数,那么必然要放一个它在最中间
4.因为不能有前导0,所以如果有多个0的话,从1找到9,找到最小的数,首尾各贴一个
5.然后从小的数位到大的数位,首尾同时铺过去就完事了。
PS: 另需特判0出现多次而没有其他数字的情况,此时无法构造,对应12行。
1.如果有两个及以上的数位都出现了奇数次,则无法构造回文串
2.如果0出现2次以上,而且其他只有一个数位出现过且只出现了一次,则无法规避前导0,所以也无法构造(样例4)
3.下面开始构造:所有的数位次数累加,得到最终的字符串长度n,如果有数位出现次数为奇数,那么必然要放一个它在最中间
4.因为不能有前导0,所以如果有多个0的话,从1找到9,找到最小的数,首尾各贴一个
5.然后从小的数位到大的数位,首尾同时铺过去就完事了。
PS: 另需特判0出现多次而没有其他数字的情况,此时无法构造,对应12行。
点赞 1 评论 1
全部评论
相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享