java实现字符串反转

本文实例为大家分享了java字符串反转的具体代码,供大家参考,具体内容如下

import java.util.Stack;

public class StringReverse {

  // 使用内置类(StringBuilder或StringBuffer)
  public static String reverse1(String s) {
    // StringBuilder strBuilder = new StringBuilder(s);
    // String ret = strBuilder.reverse().toString();
    StringBuffer strBuf = new StringBuffer(s);
    String ret = strBuf.reverse().toString();
    return ret;
  }

  // 有左到右 拼接字符串
  public static String reverse2(String s) {
    String ret = "";
    for (int i = 0; i < s.length(); ++i) {
      ret = s.charAt(i) + ret;
    }
    return ret;
  }

  // 从右到左 拼接字符串
  public static String reverse3(String s) {
    String ret = "";
    for (int i = s.length() - 1; i >= 0; --i) {
      ret += s.charAt(i);
    }
    return ret;
  }

  public static String reverse4(String s) {
    String ret = "";
    char[] charArr = s.toCharArray();
    int len = charArr.length;
    for (int i = 0; i < len / 2; ++i) {
      char tmp = charArr[i];
      charArr[i] = charArr[len - 1 - i];
      charArr[len - 1 - i] = tmp;
    }
    ret = new String(charArr);
    return ret;
  }

  // 使用异或
  public static String reverse5(String s) {
    String ret = "";
    char[] charArr = s.toCharArray();
    int begin = 0, end = charArr.length - 1;
    while (begin < end) {
      charArr[begin] = (char) (charArr[begin] ^ charArr[end]);
      charArr[end] = (char) (charArr[begin] ^ charArr[end]);
      charArr[begin] = (char) (charArr[begin] ^ charArr[end]);

      begin++;
      end--;
    }
    ret = new String(charArr);
    return ret;
  }

  // 使用栈
  public static String reverse6(String s) {
    String ret = "";
    Stack<Character> stack = new Stack<Character>();
    for (int i = 0; i < s.length(); ++i) {
      stack.push(s.charAt(i));
    }
    while (!stack.isEmpty()) {
      ret += stack.pop();
    }

    return ret;
  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java 字符串反转的实例详解

    java 字符串反转的实例详解 1.new StringBuffer("abcde").reverse().toString(); 2.通过char数组进行转换, 代码如下 package com.test.reverse; public class TestReverse { public static void main(String[] args) { // 声明任意字符串 String str = "abcde"; //将字符串转换成char[] char[

  • Java反转字符串和相关字符编码的问题解决

    复制代码 代码如下: public String reverse(char[] value){       for (int i = (value.length - 1) >> 1; i >= 0; i--){           char temp = value[i];           value[i] = value[value.length - 1 - i];           value[value.length - 1 - i] = temp;       }     

  • Java 字符串反转实现代码

     Java 字符串反转 问题: 给一个字符串,比如 "I love china", 把字符反转后变成 "china love I" 思路: 先把字符串从第一个字符与最后一个字符对换,第二个字符和倒数第二个字符对换,这样,我们就把每一个单词位置互换了.但是我们要求单词里面字符的顺序是不能变的,所以,我们要把每一个单词里面的字符从头到尾对换一下.这样就可以得到我们想要的字符串了. 实现: 因为这里两次都会用到字符反转,所以我们就单独写一个swap的方法出来.我们对每个单

  • java字符串反转示例分享

    思路: 将字符串变成数组,对数组反转将反转后的数组变成字符串只要将反转的部分的开始和结束的位置作为参数传递即可 复制代码 代码如下: class reverse_String{    public static void main (String[] args){        String s1 = "      java php .net    ";        String s2 = reverseString(s1);        System.out.println(s2

  • java实现字符串反转案例

    本文实例为大家分享了java实现字符串反转的具体代码,供大家参考,具体内容如下 1.需求: 定义一个方法,实现字符串反转.键盘录入一个字符串,调用该方法后,在控制台输出结果 例如,键盘录入abc,输出结果cba 2.思路: 1.键盘录入一个字符串,用Scanner实现 2.定义一个方法,实现字符反转.返回值类型String,参数String s 3.在方法中把字符串倒着遍历,然后把每一个得到的字符拼接成一个字符串并返回 4.调用方法, 用一个变量接收结果 5.输出结果 3.代码实现 import

  • java实现字符串反转

    本文实例为大家分享了java字符串反转的具体代码,供大家参考,具体内容如下 import java.util.Stack; public class StringReverse { // 使用内置类(StringBuilder或StringBuffer) public static String reverse1(String s) { // StringBuilder strBuilder = new StringBuilder(s); // String ret = strBuilder.r

  • Java实现的简单字符串反转操作示例

    本文实例讲述了Java实现的简单字符串反转操作.分享给大家供大家参考,具体如下: 最常用的方式是,反向取出每个字符,然后打印: public class StringReverse { public static void main(String[] args) { // 原始字符串 String s = "A quick brown fox jumps over the lazy dog."; System.out.println("原始的字符串:" + s);

  • JAVA字符串反转的三种方法

    方法一:使用StringBuilder import java.util.Scanner; public class StrReversal { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); System.out.println(new StringBuilder(str).reverse()); } } 方法二

  • java字符串反转的7种方法

    目录 1.用stringBuffer或者stringBuilder自带的reverse方法 2.将字符串拆分为char数组 3.stringBuffer倒序拼接 4.利用栈的先进后出 5.二分换位反转 6.切割递归反转 7.二分递归反转 1.用stringBuffer或者stringBuilder自带的reverse方法     public static String reverseTestOne(String s) {         return new StringBuffer(s).r

  • JAVA多种方法实现字符串反转

    本人自己思考+网络搜罗,分类整理了以下4类9种方法: A类:使用JAVA原生方法 -A1:使用StringBuffer的reverse方法 -A2:使用StringBuilder的reverse方法 B类:遍历字符串(字符数组)实现 -B1:将字符串转变为字符数组,遍历该数组的一半,依次将头尾开始对应的字符交换 -B2:逆向遍历s,正序拼接出一个新的字符串 -B3:正向遍历s,将取出的字符拼接形成中间字符串,将中间字符串拼接在下一个字符的后面 -B4:从首位两边同时遍历,交换首位下标位置的字符(

  • 浅谈java中字符串数组、字符串、整形之间的转换

    字符串数组转字符串(只能通过for循环): String[] str = {"abc", "bcd", "def"}; StringBuffer sB = new StringBuffer(); for (int i = 0; i < str.length;i++) { sB.append(str[i]); } String s = sB.toString(); 字符数组转字符串可以通过下面的方式: char[] data = {"

  • Java判断字符串回文的代码实例

    首先,回文是指类似于"12345","abcdcba"的形式,即正念和反念都是一样的字符串 判断字符串是否是回文,这边介绍2种办法 1.将字符串翻转,判断翻转后的字符串和原字符串是否相等 public static void main(String[] args) { String s="abcdcba"; // 用StringBuilder的reverse方法将字符串反转 StringBuilder sb=new StringBuilder(s

随机推荐