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
  • 相关阅读:
    消息队列之kafka
    注册中心ZooKeeper
    消息队列之RocketMQ集群部署
    消息队列之RocketMQ简介及单机部署
    消息队列之RabbitMQ
    消息队列简介
    debian10入门(切换root用户,更改网卡配置,及更新apt源配置)
    实体间的关系
    MySQL数据库的基础使用命令大全
    ReletiveLayout布局的一些常用属性
  • 原文地址:https://www.cnblogs.com/zyoung/p/6544893.html
Copyright © 2011-2022 走看看