博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode算法题-Reverse String(Java实现)
阅读量:6446 次
发布时间:2019-06-23

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

这是悦乐书的第205次更新,第217篇原创

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第73题(顺位题号是344)。编写一个以字符串作为输入并返回字符串的函数。例如:

输入:“hello”

输出:“olleh”

输入:“A man, a plan, a canal: Panama”

输出:“amanaP: lanac a, nalp a, nam A”

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02 第一种解法

直接借助StringBuilder类的reverse方法,将原字符串反转。

public String reverseString(String s) {    StringBuilder sb = new StringBuilder(s);    return sb.reverse().toString();}

03 第二种解法

使用双指针,一个从0开始,一个从字符串尾部开始,利用循环,进行首尾字符互换。

public String reverseString2(String s) {    if (s == null || s.trim().length() <= 1) {        return s;    }    int i = 0;    int j = s.length()-1;    char[] ch = s.toCharArray();    while (i < j) {        char temp = ch[i];        ch[i] = ch[j];        ch[j] = temp;        i++;        j--;    }    return new String(ch);}

04 小结

算法专题目前已连续日更超过两个月,算法题文章73+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

转载于:https://www.cnblogs.com/xiaochuan94/p/10140058.html

你可能感兴趣的文章
Unity3D NGUI 给button按钮添加单间事件
查看>>
C# 使用各种API
查看>>
密码的校验.大小写字母,数字,特殊字符中的至少3种
查看>>
ios 不同sdk4.3 6.0版本号,关于方法的兼容性的通用方法
查看>>
Shell编程学习总结
查看>>
070、如何定制Calico 网络policy(2019-04-15 周一)
查看>>
构建之法阅读笔记02
查看>>
Webstorm常用快捷键备忘
查看>>
js滚动加载到底部
查看>>
关于mac远程链接window服务器以及实现共享文件
查看>>
Redis慢查询,redis-cli,redis-benchmark,info
查看>>
Virtualbox 虚拟机网络不通
查看>>
java概念基础笔记整理
查看>>
self parent $this关键字分析--PHP
查看>>
CC_UNUSED_PARAM 宏含义的解释
查看>>
leetcode124二叉树最大路径和
查看>>
AngularJS笔记整理 内置指令与自定义指令
查看>>
学习OpenCV——BOW特征提取函数(特征点篇)
查看>>
shell与正则表达式
查看>>
第三篇:白话tornado源码之请求来了
查看>>