LeetCode笔记:344. Reverse String

问题:

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

Example:

Given s = “hello”, return “olleh”.

大意:

写一个函数获取输入的字符串然后返回反转后后的字符串。

比如:

给出s = “hello”,返回”olleh”

思路:

思路很直接就想到,先把字符串拆分成一个个字符组成的数组,新建一个空字符串,然后从数组的最后一个字符往前遍历,每遍历一个都将其拼接到新字符处后面去,遍历完了就解决了。由于拼接的方式有很多,效率也各不相同,所以查了资料之后,选择了StringBuilder的方式,据说速度最快,但有线程安全的问题,而且只有JDK5支持。

代码(Java):

public class Solution {
    public String reverseString(String s) {
        char[] sCharArr = s.toCharArray();// 拆分成数组
        StringBuilder sb = new StringBuilder();
        for (int i = sCharArr.length - 1; i >= 0; i--) {
            // 遍历添加到末尾
            sb.append(sCharArr[i]);
        }
        return sb.toString();
    }
}

由于数据不够,也看不出我的速度比起别人到底如何,但我在项目中确实发现简单的用”+”来拼接字符串在量大了以后真的会非常慢,所以有其他方法的话还是尽量不要直接用”+”号了。

他山之石:

Discuss中看到一行代码解决的,也是用StringBuilder:

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

所以熟悉原生支持的方法真的很重要= =



版权所有:http://blog.csdn.net/cloudox_

时间: 2024-11-05 21:47:21

LeetCode笔记:344. Reverse String的相关文章

【leetcode】344. Reverse String

problem 344. Reverse String 参考 1. Leetcode_344_Reverse String; 完 原文地址:https://www.cnblogs.com/happyamyhope/p/10419862.html

LeetCode之344. Reverse String

------------------------------- Java也可以实现一行代码反转字符串哦 AC代码如下: public class Solution { public String reverseString(String s) { return new StringBuffer(s).reverse().toString(); } } 题目来源: https://leetcode.com/problems/reverse-string/

【一天一道LeetCode】#344. Reverse String

一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Write a function that takes a string as input and returns the string reversed. Example: Given s = "hello", return "olleh". (二)解题 题目大意:给定一个链表,将

leetcode笔记--2 reverse string

my answer: 出错点:new_list[s] = list_s[u-1-s] 这样会出错, 重点:(1) map(str, s) 函数的使用,例:ls = [1,2,3]rs = map(str, ls)#打印结果 ['1', '2', '3'] (2) 字符串连接方法 例: 引用来自:http://www.jb51.net/article/55301.htm 最原始的字符串连接方式:str1 + str2 python 新字符串连接语法:str1, str2奇怪的字符串方式:str1

[LeetCode] 344 Reverse String & 541 Reverse String II

原题地址: 344 Reverse String: https://leetcode.com/problems/reverse-string/description/ 541 Reverse String II: https://leetcode.com/problems/reverse-string-ii/description/ 题目&解法: 1.Reverse String: Write a function that takes a string as input and returns

Leetcode刷题记录[python]——344 Reverse String

一.前言 不是计算机专业出身,却有一颗程序猿的心. 昨日开始leetcode第一次刷题,选择了菜鸟方式,从AC率最高且难度为Easy的题开始,不管题是简单还是难,都想做个记录,既是方便以后回顾,又是以此作为一个激励,督促自己每天都能有所进步. 二.题344 Reverse String Write a function that takes a string as input and returns the string reversed. class Solution(object): def

leetCode 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". 思路1: 使用一个新的string来存放结果. class Solution { public:     string reverseString(string s) {        

344. Reverse String(C++)

344. Reverse String Write a function that takes a string as input and returns the string reversed. Example: Given s = "hello", return "olleh". 题目大意: 字符串倒置. 解题方法: 第一个字符与最后一个非空字符对换. 注意事项: 1.字符串最后一个字符是空字符. C++代码: 1.不良代码: 1 class Solution

344. Reverse String【easy】

344. Reverse String[easy] Write a function that takes a string as input and returns the string reversed. Example:Given s = "hello", return "olleh". 解法一: 1 class Solution { 2 public: 3 string reverseString(string s) { 4 int start = 0, e