博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode: 344. Reverse String
阅读量:6330 次
发布时间:2019-06-22

本文共 1127 字,大约阅读时间需要 3 分钟。

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

Example:

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

题目大意就是给一个字符串,得到倒序字符串

corner case:空字符串或者字符串长度为0

解法一:

申请额外空间,index指向原字符串串尾,倒序构建新字符串

public class Solution {    public String reverseString(String s)     {        if (s == null || s.length() == 0)        {            return s;        }                String res = "";        int index = s.length() - 1;                for (; index >= 0; index--)        {            res += s.charAt(index);        }                return res;    }}

时间复杂度:n, 空间复杂度: n

超时

解法二:

双pointer指向头尾,直接交换字符。不需要额外空间,只用循环n/2次

public class Solution {    public String reverseString(String s)     {        if (s == null || s.length() == 0)        {            return s;        }                int left = 0;        int right = s.length() - 1;        char[] sChar = s.toCharArray();                while (left < right)        {            char temp = sChar[left];            sChar[left] = sChar[right];            sChar[right] = temp;                        left++;            right--;        }                return new String(sChar);    }}

转载地址:http://gcboa.baihongyu.com/

你可能感兴趣的文章
树形展示形式的论坛
查看>>
jdbcTemplate 调用存储过程。 入参 array 返回 cursor
查看>>
C++中的stack类、QT中的QStack类
查看>>
Linux常用基本命令[cp]
查看>>
CSS 相对|绝对(relative/absolute)定位系列(一)
查看>>
关于 Nginx 配置 WebSocket 400 问题
查看>>
Glide和Govendor安装和使用
查看>>
Java全角、半角字符的关系以及转换
查看>>
Dubbo和Zookeeper
查看>>
前端项目课程3 jquery1.8.3到1.11.1有了哪些新改变
查看>>
UOJ#179. 线性规划(线性规划)
查看>>
整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
查看>>
Isolation Forest原理总结
查看>>
windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
redis 安装
查看>>
SQL some any all
查看>>
电子书下载:Programming Windows Identity Foundation
查看>>
有理想的程序员必须知道的15件事
查看>>
用于测试的字符串
查看>>