Java 其中翻转字符串的实现方法_java

给大家介绍其中常用和不常用的将字符串翻转过来的方法:

复制代码 代码如下:

import java.util.Stack;

public class StringReverse {

public static String reverse1(String s) {

   int length = s.length();

   if (length <= 1)

    return s;

   String left = s.substring(0, length / 2);

   String right = s.substring(length / 2, length);

   return reverse1(right) + reverse1(left);

 }

 public static String reverse2(String s) {

   int length = s.length();

   String reverse = "";

   for (int i = 0; i < length; i++)

    reverse = s.charAt(i) + reverse;

   return reverse;

  }

  public static String reverse3(String s) {

   char[] array = s.toCharArray();

   String reverse = "";

   for (int i = array.length - 1; i >= 0; i--)

    reverse += array[i];

   return reverse;

  }

  public static String reverse4(String s) {

   return new StringBuffer(s).reverse().toString();

  }

  public static String reverse5(String orig) {

   char[] s = orig.toCharArray();

   int n = s.length - 1;

   int halfLength = n / 2;

   for (int i = 0; i <= halfLength; i++) {

    char temp = s[i];

    s[i] = s[n - i];

    s[n - i] = temp;

   }

   return new String(s);

  }

  public static String reverse6(String s) {

   char[] str = s.toCharArray();

   int begin = 0;

   int end = s.length() - 1;

   while (begin < end) {

    str[begin] = (char) (str[begin] ^ str[end]);

    str[end] = (char) (str[begin] ^ str[end]);

    str[begin] = (char) (str[end] ^ str[begin]);

    begin++;

    end--;

   }

   return new String(str);

  }

  public static String reverse7(String s) {

   char[] str = s.toCharArray();

   Stack<Character> stack = new Stack<Character>();

   for (int i = 0; i < str.length; i++)

    stack.push(str[i]);

   String reversed = "";

   for (int i = 0; i < str.length; i++)

    reversed += stack.pop();

   return reversed;

  }

 }

时间: 2024-10-29 12:39:15

Java 其中翻转字符串的实现方法_java的相关文章

Java简单获取字符串像素的方法_java

本文实例讲述了Java简单获取字符串像素的方法.分享给大家供大家参考,具体如下: 计算字符串的像素长度与高度: Graphics2D g = (Graphics2D)Toolkit.getDefaultToolkit(). getImage("imgname").getGraphics(); // 设置大字体 Font font = new Font("楷体", Font.ITALIC | Font.BOLD, 72); g.setFont(font); FontR

java中计算字符串长度的方法及u4E00与u9FBB的认识_java

字符串采用unicode编码的方式时,计算字符串长度的方法找出UNICODE编码中的汉字的代表的范围"\u4E00" 到"\u9FBB"之间,由于一个汉字代表两个字符所以可以采用如下方法进行计算字符串的长度 复制代码 代码如下: public static int getCharLength(String content) { int count = 0; for (int i = 0, len = content.length(); i < len; ++i

java中List对象排序通用方法_java

本文实例讲述了java中List对象排序通用方法.分享给大家供大家参考.具体分析如下: 在数据库中查出来的列表list中,往往需要对不同的字段重新排序,一般的做法都是使用排序的字段,重新到数据库中查询.如果不到数据库查询,直接在第一次查出来的list中排序,无疑会提高系统的性能. 只要把第一次查出来的结果存放在session中,就可以对list重新排序了.一般对list排序可以使用Collections.sort(list),但如果list中包含是一个对象的话,这种方法还是行不通的.那要怎么排序

Java实现字符数组全排列的方法_java

本文实例讲述了Java实现字符数组全排列的方法.分享给大家供大家参考,具体如下: import org.junit.Test; public class AllSort { public void permutation(char[] buf, int start, int end) { if (start == end) {// 当只要求对数组中一个字母进行全排列时,只要就按该数组输出即可 for (int i = 0; i <= end; i++) { System.out.print(bu

java string类型转换boolean类型的方法_java

今天偶然想把string 类型转换成 boolean 类型 ,查了下api文档,发现文档似乎有点不太对经... 嗯,就直接发测试代码吧,废话懒得说了... String s1 = "false"; String s2 = "true"; String s3 = "fAlSe"; String s4 = "TrUe"; String s5 = "true_a"; 以上的string 分别用 Boolean.g

Java 完美判断中文字符的方法_java

Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比如:,.等等是不能识别的. 以下是比较完善的判断方法:CharUtil.java 复制代码 代码如下: import java.util.regex.Pattern; public class CharUtil {     public static void main(String[] args)

Java获取随机数的3种方法_java

主要介绍了Java获取随机数的3种方法,主要利用random()函数来实现 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: (int)(1+Math.random()*(10-1+1)) 从1到10的int型随数 方法2 获得随机数 for (int i=0;i<30;i++) {System.out.println((int)(1+Math.random()*10));} (int)(1+Math.random()*10) 通过java.Math包的ra

浅谈Java的String中的subString()方法_java

方法如下: public String substring(int beginIndex, int endIndex) 第一个int为开始的索引,对应String数字中的开始位置, 第二个是截止的索引位置,对应String中的结束位置 1.取得的字符串长度为:endIndex - beginIndex; 2.从beginIndex开始取,到endIndex结束,从0开始数,其中不包括endIndex位置的字符 如: "hamburger".substring(4, 8) returns

在Java下利用log4j记录日志的方法_java

1.前言 log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),它在Apache软件许可下发布. Log4j已经被移植到了C,C++,C#,Perl,Python和Ruby等语言中. Log4j是高度可配置的,并可通过在运行时的外部文件配置.它根据记录的优先级别,并提供机制,以指示记录信息到许多的目的地,例如:数据库,文件,控制台,UNIX系统日志等. Log4j中有三个主要组成部分:     loggers: 负责捕获记录信息.     appenders : 负责发布日志信息