static String reverse(String s) { StringBuffer t = new StringBuffer(); for (int i = s.length()-1; i >= 0; --i){ t.append(s.charAt(i)); } return t.toString(); } 效率比你的快100倍以上
哦,原来是倒序,直接用StringBuffer的倒序函数,比我的可能还快:)
public String reverse(String s) { char[] c = s.toCharArray(); int l = c.length; int count = (int)(l / 2); for(int i = 0; i < count ; i++) { c[i] ^= c[l - i - 1]; c[l - i - 1] ^= c[i]; c[i] ^= c[l - i - 1]; } return new String(c); }
{
StringBuffer t = new StringBuffer(); for (int i = s.length()-1; i >= 0; --i){
t.append(s.charAt(i));
}
return t.toString();
}
效率比你的快100倍以上
char[] c = s.toCharArray();
int l = c.length;
int count = (int)(l / 2);
for(int i = 0; i < count ; i++) {
c[i] ^= c[l - i - 1];
c[l - i - 1] ^= c[i];
c[i] ^= c[l - i - 1];
}
return new String(c);
}
在java里自己写这种函数没什么意义!!!