A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 luqh 于 2015-3-24 20:36 编辑
  1. public class Test1 {
  2.         public static void main(String[] args) {
  3.                 String s = "abcd";
  4.                 s = reverseStr(s);
  5.                 sop(s);
  6.         }
  7.         public static void sop(String str) {
  8.                 System.out.println(str);
  9.         }

  10.         // 将字符串反转
  11.         public static String reverseStr(String str) {
  12.                 char[] cha = str.toCharArray();// 变数组
  13.                 reverse(cha);
  14.                 return new String(cha);
  15.         }

  16.         public static void reverse(char[] arr) {
  17.                 for (int start = 0, end = arr.length - 1; start < end; start++) {
  18.                         swp(arr, start, end);
  19.                 }
  20.         }

  21.         public static void swp(char[] arr, int x, int y) {
  22.                 char tmp = arr[x];
  23.                 arr[x] = arr[y];
  24.                 arr[y] = tmp;
  25.         }
  26. }
复制代码

4 个回复

倒序浏览
按理说abcd的反转是dcba  可是我的运行结果怎么是dabc呢?
回复 使用道具 举报
因为你end没有end--啊,你应该是忘了吧
回复 使用道具 举报
for (int start = 0, end = arr.length - 1; start < end; start++,end--)
回复 使用道具 举报
绝望 发表于 2015-3-24 21:59
for (int start = 0, end = arr.length - 1; start < end; start++,end--)

多谢,疏忽了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马