[leetcode][easy]344. Reverse String

344. Reverse String

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

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


C语言很容易用指针实现,用for循环将内容复制进新数组,然后末尾补\0

char* reverseString(char* s) {
    char* s_rev;
    int i,len=strlen(s);
    for(i=0 ; i<len ; i++)
        s_rev[i] = s[len-i-1];
    s_rev[len] = '\0';
    return s_rev;
}


刚学Java,试试。先toCharArray将字符串转为字符数组,再建立StringBuffer,for循环在buffer中每次添加一个字符,最后StringBuffer用toString转为String输出

这样做会很慢

public class Solution {
    public String reverseString(String s) {
        char[] cha = s.toCharArray();
        StringBuffer str_buf = new StringBuffer();
        for(int i=cha.length-1 ; i>=0 ; i--)
            str_buf.append(cha[i]);
        return str_buf.toString();
    }
}

网上查了一下jdk自带的方法也挺好

public class Solution {
    public String reverseString(String s) {
        return new StringBuilder(s).reverse().toString(); 
    }
}


附上链接,Java中字符串反转的七种方法


你可能感兴趣的:(LeetCode,String,easy)