344. Reverse String

题目

Write a function that takes a string as input and returns the string reversed.

Example:
Given s = "hello", return "olleh".

分析

字符串反转

解答

解法1:(我)(7ms)

String中"+"进行字符串连接的处理步骤实际上是通过建立一个StringBuffer,然后调用append(),最后再将StringBuffer toString();

由此,String的连接操作就比StringBuffer多出了一些附加操作,当然效率上要打折扣。

此处使用StringBuffer.append,若改为用String的"+"连接,则出现超时错误

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


解法2:使用StringBuilder的reverse()(3ms√)

public class Solution {
    public String reverseString(String s) {
        StringBuilder sb = new StringBuilder(s);
        return sb.reverse().toString();
    }
}
posted @ 2017-02-18 10:14  妙音天女  阅读(154)  评论(0编辑  收藏  举报