Leetcode之Reverse String 问题
问题描述:
Write a function that takes a string as input and returns the string reversed.
示例:
Example:
Given s = "hello", return "olleh".
问题来源:Reverse String (详细地址:https://leetcode.com/problems/reverse-string/description/)
思路分析:这道题的解法还是有很多种的,在这介绍其中的几种:
解法一和解法二:为什么把这二者放在一块说呢?因为它两是同一个意思,解法一是将字符串转换为字符数组,解法二是将字符串转换成字节数组,然后都是一头一尾两个指针,分别交换,得到最终结果;
解法三:调用库函数reverse()方法,直接可以得到答案。当然,String类是没有reverse()方法的,调用的是StringBuffer类的reverse(),最后转化成toString()方法;
解法四:使用分治法(divide-and-conquer)调用库函数substring()方法,最后将右半部分和左半部分递归地叠加起来就得到最终结果。
代码:
解法一和解法二:
解法三:
解法四: