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

 更新时间:2014年02月26日 15:23:04   作者:  
这篇文章主要介绍了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;

  }

 }

相关文章

  • java实现数字猜拳小游戏

    java实现数字猜拳小游戏

    这篇文章主要为大家详细介绍了java实现数字猜拳的小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • SpringBoot2零基础到精通之配置文件与web开发

    SpringBoot2零基础到精通之配置文件与web开发

    SpringBoot是一种整合Spring技术栈的方式(或者说是框架),同时也是简化Spring的一种快速开发的脚手架,本篇让我们一起学习配置文件以及web相关的开发
    2022-03-03
  • 完美解决idea光标变成了insert光标状态的问题

    完美解决idea光标变成了insert光标状态的问题

    这篇文章主要介绍了完美解决idea光标变成了insert光标状态的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Springboot整合GateWay+Nacos实现动态路由

    Springboot整合GateWay+Nacos实现动态路由

    本文主要介绍了Springboot整合GateWay+Nacos实现动态路由,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • Java类库BeanUtils组件使用方法及实例详解

    Java类库BeanUtils组件使用方法及实例详解

    这篇文章主要介绍了Java类库BeanUtils组件使用方法级实例详解,需要的朋友可以参考下
    2020-02-02
  • mac下idea的svn密码记不住的问题及处理方法

    mac下idea的svn密码记不住的问题及处理方法

    这篇文章主要介绍了mac下idea的svn密码记不住的问题及处理方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Spring 使用JavaConfig实现配置的方法步骤

    Spring 使用JavaConfig实现配置的方法步骤

    这篇文章主要介绍了Spring 使用JavaConfig实现配置的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • java CompletableFuture实现异步编排详解

    java CompletableFuture实现异步编排详解

    这篇文章主要为大家介绍了java CompletableFuture实现异步编排详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 一文详解mybatis二级缓存执行流程

    一文详解mybatis二级缓存执行流程

    本文主要详细介绍了mybatis二级缓存执行流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考价值,感兴趣的朋友们下面随着小编来一起学习吧
    2024-02-02
  • 剑指Offer之Java算法习题精讲二叉树专项解析

    剑指Offer之Java算法习题精讲二叉树专项解析

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03

最新评论