题解 | #字符串排序#
字符串排序
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); } }