- public static String myReserve(String str) {
- char[] chs = str.toCharArray();
- // 将start < chs.length && start < end 改为 start < end
- // 因为start < end成立的情况下,start < chs.length一定为true
- for (int start = 0, end = chs.length - 1; start < end; start++, end--) {
- char temp = chs[start];
- chs[start] = chs[end];
- chs[end] = temp;
- }
- // 把start < chs.length - 1改为start < chs.length
- // 你的代码少写了一个字符
- for (int start = 0; start < chs.length; start++) {
- // 这里打印的是反转后的字符串,如果只需要反转后的字符串就只需要这两行代码就可以了
- System.out.print(chs[start]);
- }
- // 这里返回的是字符数组的内存地址,你在主函数中打印了这个内存地址
- return chs.toString();
- }
复制代码
比较好的方法,用StringBuilder类可以解决这个问题- public static void main(String[] args) {
- StringBuilder sb = new StringBuilder(" djjj aaaa ");
- System.out.println(sb.reverse());
- }
复制代码
|