华为机试---字符串的规定重新排序
2014-08-27 16:30
232 查看
package huawei; import java.util.Scanner; /** * 将输入的字符串按照规定重新排序,如果字符串长度为奇数, 则中间的字符保持不变, 中间字符左侧降序排列, 右侧字符按照升序排列, 如果字符串长度为偶数,则左半侧字符降序排列,右半侧字符则按照升序排列 例如, 输入:ab5de 输出:ba5de 输入:abde 输出:bade * @author USER * */ public class CharacterSort { public static void main(String[] args) { Scanner in = new Scanner(System.in); String string = in.nextLine(); System.out.println(sort(string)); } private static String sort(String string) { // TODO Auto-generated method stub char[] ch = string.toCharArray(); int len = ch.length; for (int i = 0; i < len/2-1; i++) { for (int j = i+1; j < len/2; j++) { if (ch[i]<ch[j]) { char temp = ch[i]; ch[i] = ch[j]; ch[j] = temp; } } } if (len % 2 ==0) { for (int i = len/2; i < len-1; i++) { for (int j = i+1; j < len; j++) { if (ch[i]>ch[j]) { char temp = ch[i]; ch[i] = ch[j]; ch[j] = temp; } } } }else { for (int i = len/2+1; i < len-1; i++) { for (int j = i+1; j < len; j++) { if (ch[i]>ch[j]) { char temp = ch[i]; ch[i] = ch[j]; ch[j] = temp; } } } } return new String(ch); } }
相关文章推荐
- 华为机试—字符串中找出单词排序
- 华为机试--字符串排序
- [华为机试练习题]12.整型字符串排序
- 华为机试-字符串排序
- 华为机试——将一个字符串的元音字母复制到另一个字符串,并排序
- 【华为机试】字符串排序
- 华为校招2016.09机试 第1题: 字符串按指定长度重新分割
- 华为机试—整数数组排序(字符串输入输出)
- 华为机试——字符串排序
- 华为机试-字符串排序
- 牛客网_华为机试_026_字符串排序(字符字典码排序)
- java 字符串忽略大小写排序 (华为机试)
- 华为机试在线训练-牛客网(16)字符串排序
- 2017年,华为机试题目 《字符串按指定重新分配》 --Java实现
- 华为机试——将一个字符串的元音字母复制到另一个字符串,并排序
- 华为机试—整数数组排序(字符串输入输出)
- 华为机试1,取字符串大写字母&&排序剔除顺序数字
- 牛客网三道编程题(四)华为机试在线训练(三)将数字逆序输出、将n个字符串按照字典顺序排序
- 2013华为机试字符串压缩
- 华为机试-字符串中最大最小数之和