bellszhu 发表于 2012-08-16 15:29

求一个算法

求一个算法 把"ab23de" 变成 "ED32BA",即反转并转为大写,考虑性能
java实现

_emma 发表于 2012-08-16 15:57

这样可以么:
public static void reverse(){
   String str = "ab23de";
   char[] arry = str.toCharArray();
   int length = arry.length;
   for(int i=0; i<length/2; i++){
   char tmp = arry;
   arry = arry;
arry = tmp;
}
String result = new String(arry).toUpperCase();
System.out.println(result);
}

bellszhu 发表于 2012-08-16 16:14

那还还不如 先把String转为StringBuilder,再用StringBuilder中的reverse() 最后再toUpperCase方法回复 2# _emma


   

_Rayx 发表于 2012-08-16 18:12

char rev[] = new char;
for(int i = 0; i < str.length; ++i) {
    rev = toUpper(str);
}
String ret = new String(rev);

txoscarr 发表于 2012-08-24 16:45

StringBuilder str = new StringBuilder("ab23de");
str = str.reverse();
System.out.println(str.toString().toUpperCase());

鉴定完毕:em10:

ssfjhh 发表于 2012-08-29 14:15

>>> 'ab23de'[-1::-1].upper()
'ED32BA'
>>>

不过咱不会java,这个是python的答案。
页: [1]
查看完整版本: 求一个算法