输入一个字符串数组,把数组里面的所有字符串拼接起来排成一个字符串,打印所拼接出来的字符串最小,例如{“1”,“12”,“123”},可以拼接出含有6个字符的字符串,其为:“112123”,“112312”,“121123”,“121231”,“123112”,“123112”,其中打印出最小的为:“112123”。
思路一:进行一个暴力求解,全部组合寻找一遍,时间复杂度O(n!),其复杂度太高不宜选择;
思路二:存在str1和str2,比较s1 = str1+str2 和s2 = str2+str1的大小进行递增排序,
如果s1<s2,s1在拼接的时候必然会排在s2的前面;
如果s1=s2,str1必然和str2相等,谁前谁后一样;
如果s1<s2, str1必然会排在str2的后面。
思路二排序的一种变