题解 | #字符串排序#
字符串排序
http://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.function.BiConsumer; public class Main{ public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
InputStreamReader reader = new InputStreamReader(System.in);
try(BufferedReader bf = new BufferedReader(reader)){
String line = bf.readLine();
char[] chars = line.toCharArray();
char tmp = 0;
for (int i = 0; i < chars.length; i++) {
for (int j = 0; j < chars.length-1; j++) {
int n=1;
if (chars[j]<65 || (90<chars[j]&&chars[j]<97) || chars[j]>122) continue;
while (chars[j+n]<65 || (90<chars[j+n]&&chars[j+n]<97) || chars[j+n]>122) {
if ((j+n)==chars.length-1) break;
n++;
}
if (chars[j+n]<65 || (90<chars[j+n]&&chars[j+n]<97) || chars[j+n]>122) continue;
if (Character.toLowerCase(chars[j])>Character.toLowerCase(chars[j+n])){
tmp = chars[j];
chars[j]= chars[j+n];
chars[j+n] = tmp;
}
}
}
System.out.println(String.valueOf(chars));
}catch (IOException e){
System.out.println(e.getMessage());
}
}
}