- 注册
- 2002-10-02
- 消息
- 9,388
- 荣誉分数
- 257
- 声望点数
- 193
我来个小儿科的答案吧
代码:public class ReverseString { public static void reverse(String sSource) { try{ byte[] bSource = sSource.getBytes("UTF-8"); String sUTFSource = new String(bSource,"UTF-8"); bSource = null; StringBuilder sbRet = new StringBuilder(); int nSize = sUTFSource.length() - 1; for (int i=nSize; i>=0; i--) { sbRet.append(sUTFSource.charAt(i)); } System.out.println("source :" + sUTFSource); System.out.println("result :" + sbRet.toString()); sbRet = null; }catch(Exception e){ e.printStackTrace(); } } public static void main(String[] args) { if (args != null && args.length > 0) { String sSource = args[0]; ReverseString.reverse(sSource); } } }
这个不错,考虑了UNICODE, 但是:
1. 占用了额外的空间.
2. 你应该向面试官指出Java里有个现成的function,以显示你知识渊博:
strOriginal = StringBuffer(strOriginal).reverse().toString(); </pre>