精华内容
下载资源
问答
  • 如何将字符串反转

    万次阅读 多人点赞 2019-04-16 11:15:57
    如何将字符串反转? 1、使用 StringBuilder 或 StringBuffer 的 reverse 方法,本质都调用了它们的父类AbstractStringBuilder 的reverse 方法实现。(JDK1.8) 2、不考虑字符串中的字符是否是 Unicode 编码,自己...

    如何将字符串反转?

    1、使用 StringBuilder 或 StringBuffer 的 reverse 方法,本质都调用了它们的父类 AbstractStringBuilder 的 reverse 方法实现。(JDK1.8)
    2、不考虑字符串中的字符是否是 Unicode 编码,自己实现。

     

    代码

            public static void main(String[] args) {
    		String str = "ABCDE";
    		System.out.println(reverseStringByStringBuilderApi(str));
    		System.out.println(reverseString(str));
    	}
    	
    	public static String reverseStringByStringBuilderApi(String str) {
    		if (str != null && str.length() > 0) {
    			return new StringBuilder(str).reverse().toString();
    		}
    		return str;
    	}
    	
    	public static String reverseString(String str) {
    		if (str != null && str.length() > 0) {
    			int len = str.length();
    			char[] chars = new char[len];
    			for (int i = len - 1; i >= 0; i--) {
    				chars[len - 1 - i] = str.charAt(i);
    			}
    			return new String(chars);
    		}
    		return str;
    	}

     


    【Java面试题与答案】整理推荐

     

    展开全文
  • 如何将字符串反转

    2021-03-31 15:19:23
    如何将字符串反转? import java.util.Stack; /** * 8 种字符串反转的方法, 其实可以是9种方法,第9种是使用StringBuffer和StringBuilder中实现的方法 * @author Josh Wang(Sheng) * * @email swang6@...

    面试题汇总

    如何将字符串反转?

    import java.util.Stack;  
      
    /** 
     * 8 种字符串反转的方法, 其实可以是9种方法,第9种是使用StringBuffer和StringBuilder中实现的方法 
     * @author Josh Wang(Sheng) 
     *  
     * @email  swang6@ebay.com 
     *  
     */  
    public class StringReverse {  
      
        /** 
         * 二分递归地将后面的字符和前面的字符连接起来。 
         *  
         * @param s 
         * @return 
         */  
        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);  
        }  
          
        /** 
         * 取得当前字符并和之前的字符append起来 
         * @param s 
         * @return 
         */  
        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;  
        }  
          
        /** 
         * 将字符从后往前的append起来 
         * @param s 
         * @return 
         */  
        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;  
        }  
          
        /** 
         * 和StringBuffer()一样,都用了Java自实现的方法,使用位移来实现 
         * @param s 
         * @return 
         */  
        public static String reverse4(String s) {  
            return new StringBuilder(s).reverse().toString();  
        }  
          
        /** 
         * 和StringBuilder()一样,都用了Java自实现的方法,使用位移来实现 
         * @param s 
         * @return 
         */  
        public static String reverse5(String s) {  
            return new StringBuffer(s).reverse().toString();  
        }  
          
        /** 
         * 二分交换,将后面的字符和前面对应的那个字符交换 
         * @param s 
         * @return 
         */  
        public static String reverse6(String s) {  
            char[] array = s.toCharArray();  
            int end = s.length() - 1;  
            int halfLength = end / 2;  
            for (int i = 0; i <= halfLength; i++) {  
                char temp = array[i];  
                array[i] = array[end-i];  
                array[end-i] = temp;  
            }  
              
            return new String(array);  
        }  
          
        /** 
         * 原理是使用异或交换字符串 
         * a=a^b;  
         * b=b^a;  
         * a=b^a; 
         *  
         * @param s 
         * @return 
         */  
        public static String reverse7(String s) {  
            char[] array = s.toCharArray();  
                
              int begin = 0;  
              int end = s.length() - 1;  
                
              while (begin < end) {  
                   array[begin] = (char) (array[begin] ^ array[end]);  
                   array[end] = (char) (array[end] ^ array[begin]);  
                   array[begin] = (char) (array[end] ^ array[begin]);  
                   begin++;  
                   end--;  
              }  
                
              return new String(array);  
        }  
          
        /** 
         * 基于栈先进后出的原理 
         *  
         * @param s 
         * @return 
         */  
        public static String reverse8(String s) {  
            char[] array = s.toCharArray();  
            Stack<Character> stack = new Stack<Character>();  
            for (int i = 0; i < array.length; i++)  
                stack.push(array[i]);  
      
            String reverse = "";  
            for (int i = 0; i < array.length; i++)  
                reverse += stack.pop();  
                
            return reverse;  
        }  
          
        public static void main(String[] args) {  
            System.out.println(reverse1("Wang Sheng"));  
            System.out.println(reverse2("Wang Sheng"));  
            System.out.println(reverse3("Wang Sheng"));  
            System.out.println(reverse4("Wang Sheng"));  
            System.out.println(reverse5("Wang Sheng"));  
            System.out.println(reverse6("Wang Sheng"));  
            System.out.println(reverse7("Wang Sheng"));  
            System.out.println(reverse8("Wang Sheng"));  
        }  
    }  
    
    
    展开全文
  • 一、Java中如何将字符串反转 1、利用 StringBuffer 或 StringBuilder 的 reverse() 成员方法 代码演示: 运行结果: 2、利用 String 的 toCharArray() 方法先将字符串转化为 char 类型数组,然后使用...

    目录

    一、Java中如何将字符串反转

    1、利用 StringBuffer 或 StringBuilder 的 reverse() 成员方法

    代码演示:

    运行结果:

    2、利用 String 的 toCharArray() 方法先将字符串转化为 char 类型数组,然后使用StringBuilder将各个字符进行重新拼接

    代码演示:

    运行结果:

    3、利用 String 的 CharAt() 方法取出字符串中的各个字符,再使用StringBuilder进行拼接

    代码演示:

    运行结果:

    4、其他方法


    一、Java中如何将字符串反转

    1、利用 StringBuffer 或 StringBuilder 的 reverse() 成员方法

    代码演示:

    package com.zibo.java.february.second;
    
    public class MyStr {
        public static void main(String[] args) {
            String str = "你好,大哥哥!";
            StringBuilder builder = new StringBuilder(str);
            System.out.println(builder.reverse());
        }
    }

     

    运行结果:

    !哥哥大,好你

     

    2、利用 String 的 toCharArray() 方法先将字符串转化为 char 类型数组,然后使用StringBuilder将各个字符进行重新拼接

    代码演示:

    package com.zibo.java.february.second;
    
    public class MyStr {
        public static void main(String[] args) {
            String str = "你好,大哥哥!";
            char[] chars = str.toCharArray();
            StringBuilder builder = new StringBuilder();
            for (int i = chars.length-1; i >= 0; i--) {
                builder.append(chars[i]);
            }
            System.out.println(builder.toString());
        }
    }

     

    运行结果:

    !哥哥大,好你

     

    3、利用 String 的 CharAt() 方法取出字符串中的各个字符,再使用StringBuilder进行拼接

    代码演示:

    package com.zibo.java.february.second;
    
    public class MyStr {
        public static void main(String[] args) {
            String str = "你好,大哥哥!";
            StringBuilder builder = new StringBuilder();
            for (int i = str.length()-1; i >= 0; i--) {
                builder.append(str.charAt(i));
            }
            System.out.println(builder.toString());
        }
    }

     

    运行结果:

    !哥哥大,好你

     

    4、其他方法

    其他也有一些方法,比如使用subString结合递归,但这种方法效率应该不是太高,得不偿失,不再做深入探讨;

     

     

     

     

     

     

     

     

    展开全文
  • 09 JAVA如何将字符串反转? 答: 1.StringBuilder的reverse()方法,最简单 ```sql public static String reverse4(String s) { return new StringBuffer(s).reverse().toString(); } 2.使用字符串数组,实现从尾部...

    09 JAVA如何将字符串反转?

    答:

    1.StringBuilder的reverse()方法,最简单

    ```sql
    public static String reverse4(String s) {
    
      return new StringBuffer(s).reverse().toString();
    }
    

    2.使用字符串数组,实现从尾部开始逐个逆序放入字符串

    sublic 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;
    
    }
    

    3.使用String的CharAt方法,使用String的CharAt方法取出字符串中的各个字符,然后插入到字符串中,调用StringBuilder的insert()方法进行操作。

    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;
    
    }
    

    4.使用递归的方法,实现字符串反转。

    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);
    
    }
    

    看到最后的帮忙点个👍🙏 谢谢,这个对我真的很重要!
    在这里插入图片描述

    展开全文
  • 目录一、Java中如何将字符串反转1、利用 StringBuffer 或 StringBuilder 的 reverse() 成员方法代码演示:运行结果:2、利用 String 的 toCharArray() 方法先将字符串转化为 char 类型数组,然后使用StringBuilder将...
  • Java如何将字符串反转

    千次阅读 2019-05-09 00:05:11
    总结一道 Java 面试常见编程题: 'abc123' 字符串反转,把你能想到的方法都写下来。  1. 利用 StringBuffer 或 StringBuilder 的 reverse 成员方法: // StringBuffer public static String reverse1(String ...
  • java基础:8、如何将字符串反转
  • 9.如何将字符串反转?

    2020-07-24 20:20:49
    8 种字符串反转的方法, 其实可以是9种方法,第9种是使用StringBuffer和StringBuilder中实现的方法 二分递归地后面的字符和前面的字符连接起来 /** * 二分递归地后面的字符和前面的字符连接起来。 * * @...
  • 代码 String str = "hello"; str = new StringBuilder(str).reverse().toString();... } // 将反转之后的字符数组放入字符串之中 str = new String(value); // 输出结果 System.out.println(str); } }
  • 使用 StringBuilder 或者 stringBuffer 的 reverse() 方法。 示例代码: // StringBuffer reverse StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append("abcdefg");...System.out.println...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 421
精华内容 168
关键字:

如何将字符串反转