题目描述
编写一个函数,其作用是将输入的字符串反转过来。
示例 1:
输入: "hello" 输出: "olleh"
示例 2:
输入: "A man, a plan, a canal: Panama" 输出: "amanaP :lanac a ,nalp a ,nam A"
思路
使用StringBuider或StringBuffer修改字符序列,关于StringBuilder和Stringbuffer的区别可以参考我的零一篇文章Java中的String、StringBuffer、StringBuilder有什么区别?
将字符串转化为字符串数组,对换首尾字符位置即可。
Java AC
- 使用StringBuilder
class Solution { public String reverseString(String s) { String res = new StringBuilder(s).reverse().toString(); return res; } }
- 转换为数组
class Solution { public String reverseString(String s) { char[] arr = s.toCharArray(); int i = 0, j = arr.length - 1; while (i < j) { char tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; i++; j--; } String str = String.valueOf(arr); return str; } }