java里reverse 算法描述

来源:互联网 发布:java中static什么意思 编辑:程序博客网 时间:2024/06/09 12:05

String这个类里面根本就没有reverse()这个方法 它是StringBuffer类的方法

 

算法多种多样

关键是理解原理

这个算法的实现并不复杂

下面是我自己写的一个算法

public class StringUtils{

 

 /**

  *隐藏构造函数 避免实例化这个类的对象

  *对于只有方法 没有任何成员变量需要维护的辅助性类

  *实例化这个类的对象显然没有任何意义

  */

 private StringUtils();

 /**

  *反转字符串

  */
 public static String reverse(String s){
  //若参数为空或去掉两边空格为"" 返回值为参数自身
  if (s==null||s.trim()=="") {
   return s;
  }
  //获得字符串的字符数组
  char[] chs = s.toCharArray();
  //获得字符串的长度
  int length = s.length();

  //循环交换数组中对称位置的字符
  for (int i = 0; i < length/2; i++) {
   char c = chs[i];
   chs[i]=chs[length-1-i];
   chs[length-1-i]=c;
  }

//返回由交换过的数组构成的新字符串
  return new String(chs);
 }
 
 public static void main(String[] args) {
  System.out.println(reverse("FVVWJ"));
 }
}