zoukankan      html  css  js  c++  java
  • 344. Reverse String

    链接

    344. Reverse String

    题意

    给定一个字符串,输出其翻转后的字符串。

    思路

    从给定字符串反向遍历,利用StringBuilder拼接即可。

    代码

    Java:

    public class Solution {
        public String reverseString(String s) {
            StringBuilder sb = new StringBuilder();
            for (int i = s.length() - 1; i >= 0; i--) {
                sb.append(s.charAt(i));
            }
            return sb.toString();
        }
    }
    

    总结

    1. 该题如果直接进行字符串拼接(string1 += string2)会超时。StringBuilder是高效的选择。
    2. 摘抄百度上的一个总结
    1. 在执行速度方面的比较:StringBuilder > StringBuffer
    2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像String一样创建一些对象进行操作,所以速度就快了。
    3. StringBuilder:线程非安全的
        StringBuffer:线程安全的
      当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。
      对于三者使用的总结:
      1.如果要操作少量的数据用 = String
      2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder
      3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer
  • 相关阅读:
    keyCode 与charCode
    阻止事件冒泡的三种手段
    jquery实现二级菜单
    static public和 public static 区别
    java单例模式
    使用jqueryui
    正则表达式
    PHP中mysql_affected_rows()和mysql_num_rows()区别
    PHP中冒号、endif、endwhile、endfor这些都是什么
    jqueryMobile
  • 原文地址:https://www.cnblogs.com/zyoung/p/6544893.html
Copyright © 2011-2022 走看看