巧妙的字符串排序,保证你不看,绝对想不到
2016-12-05 17:35
204 查看
题目描述
编写一个程序,将输入字符串中的字符按如下规则排序。规则1:英文字母从A到Z排列,不区分大小写。 如,输入:Type 输出:epTy规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。 如,输入:BabA 输出:aABb规则3:非英文字母的其它字符保持原来的位置。 如,输入:By?e 输出:Be?y样例: 输入: A Famous Saying: Much Ado About Nothing(2012/8). 输出: A aaAAbc dFgghh: iimM nNn oooos Sttuuuy (2012/8).//思路:利用桶排序的思想import java.util.*;public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
while (s.hasNext()) {
String str = s.nextLine();
ArrayList ls = new ArrayList();此注释为经典的桶排序思想// for (int j = 0; j < 26; j++)
// for (int i = 0; i < str.length(); i++) {
// char ch = str.charAt(i);
// if (ch - 'a' == j || ch - 'A' == j)
// ls.add(ch);
// }
int k = 0;StringBuffer sb=new StringBuffer();
for(int i=0; i<str.length(); i++){
char chs=str.charAt(i);
if ((chs >= 'a' && chs <= 'z') || (chs >= 'A' && chs <= 'Z'))
sb.append(ls.get(k++));
else
sb.append(chs);
}
System.out.println(sb.toString());
}}
}
相关文章推荐
- 巧妙的字符串排序
- 排序含有数字的字符串:一个巧妙地方法
- 排序含有数字的字符串:一个巧妙地方法【转】
- 用Array.Sort对字符串进行排序的问题
- 绝对经典不看后悔websphere 用命令 重新安装管理控制台,
- STL对字符串排序
- 银行跨行查询收费,和哪个国家接轨你绝对想不到
- C#获得1个字符串在另一个字符串里出现的次数的巧妙方法
- 一些珍藏代码奉献,绝对有价值,不可不看!!!
- acm 试题 字符串排序
- 绝对坐怀不乱,党性保证
- 作个把字符插入到一个按升序排序的字符串中的方法
- 高校BBS最HOT的100个笑话(不看保证后悔终身)
- C#优化字符串操作(7)--输出21个AAAAAAAAAAAAAAAAAAAAA的巧妙做法
- 字符串排序的程序代码 acm试题
- [python]一行搞定字符串排序
- 按照字符串排序的Sql写法
- 任意输入一个字符串,将其中的字符按ASCII码值从小到大重新排序
- 巧妙利用连表查询拆分字符串
- 获取字符串的首字母(包括中文),应用于按26个字母过滤和排序!