反转字符串:public class reverse
{
public static void main(String[] args)
{
String str = new String("Hello World!");

System.out.println("before reverse: " + str);
str = reverseStr(str);
System.out.println("after reverse: " + str);

}

public static String reverseStr(String str)
{
StringBuffer sb = new StringBuffer();
for(int i = str.length() - 1; i >= 0; i--)
sb.append(str.charAt(i)); return sb.toString();
}
}

解决方案 »

  1.   

    要效率高应该是充分使用堆栈吧!?
    String oldStr = "abcefg";
    String newStr = oldStr.substring(5) + oldStr.substring(4, 5) + oldStr.substring(3, 4) + oldStr.substring(2, 3) + oldStr.substring(1, 2) + oldStr.substring(0, 1);
    -------------
    虽然是有点烂,但我感觉应该是效率蛮高的。这样应该不会用到存取较慢的内存池。
      

  2.   

    使用效率高的??
    用API就可以啦吧
    试试这个看看:
    ...
    String str="abcdef";
    StringBuffer strb=new StringBuffer();
    strb.invert();
    ....
      

  3.   

    同意jverson(bergkamp),应该也是这个考点,看你对JDK熟不熟.
      

  4.   

    不过jverson(bergkamp)的StringBuffer新建对象的时候应该把字符串写进去.
    String str="abcdef";
    StringBuffer strb=new StringBuffer(str);
    strb.invert();
      

  5.   

    还有,方法也错了,应该是reverse();
    String str="abcdef";
    StringBuffer strb=new StringBuffer(str);
    strb.reverse();
    System.out.println(strb.toString());
      

  6.   

    对象  堆
    对象句柄 堆栈
    static、final 静态存储区,只读存储区