题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
char[] input = in.nextLine().toCharArray();
//sort
for(int i= 0; i<input.length; i++){
for(int j = input.length-1; j>=i+1;j--){
if (!isWord(input[j])) continue;
int next = findWord(input, j);
if(next==j) continue;
if(!judge(reverse(input[next]),reverse(input[j]))){
char temp = input[next];
input[next]=input[j];
input[j] = temp;
}
}
}
System.out.println(input);
}
public static int findWord(char[] c, int i){
for (int j =i-1; j>=0; j--){
if(isWord(c[j])) return j;
}
return i;
}
public static boolean isWord(char a){
if(a>='a'&&a<='z') return true;
if(a>='A'&&a<='Z') return true;
return false;
}
public static boolean judge(char a, char b){
if ((a<=b)){
return true;
}
return false;
}
public static char reverse(char a){
return Character.toLowerCase(a);
}
}
查看7道真题和解析