zoukankan      html  css  js  c++  java
  • 如何将字符串反转?

    • 使用 StringBuilder 或 StringBuffer 的 reverse 方法,本质都调用了它们的父类 AbstractStringBuilder 的 reverse 方法实现。(JDK1.8)
    • 不考虑字符串中的字符是否是 Unicode 编码,自己实现。
    • 递归
    package constxiong.interview;
    
    public class TestReverseString {
    
        public static void main(String[] args) {
            String str = "ABCDE";
            System.out.println(reverseString(str));
            System.out.println(reverseStringByStringBuilderApi(str));
            System.out.println(reverseStringByRecursion(str));
        }
    
        /**
         * 自己实现
         * @param str
         * @return
         */
        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;
        }
        
        /**
         * 使用 StringBuilder
         * @param str
         * @return
         */
        public static String reverseStringByStringBuilderApi(String str) {
            if (str != null && str.length() > 0) {
                return new StringBuilder(str).reverse().toString();
            }
            return str;
        }
    
    
        /**
         * 递归
         * @param str
         * @return
         */
        public static String reverseStringByRecursion(String str) {
            if (str == null || str.length() <= 1) {
                return str;
            }
            return reverseStringByRecursion(str.substring(1)) + str.charAt(0);
        }
    }

      

    来一道刷了进BAT的面试题?

  • 相关阅读:
    JAVA日报
    JAVA日报
    JAVA日报
    论文爬取(四)
    论文爬取(三)
    论文爬取(二)
    剑指 Offer 59
    剑指 Offer 58
    剑指 Offer 58
    剑指 Offer 57
  • 原文地址:https://www.cnblogs.com/ConstXiong/p/11808182.html
Copyright © 2011-2022 走看看