题目: Write a function that takes a string as input and returns the string reversed.
Example: Given s = “hello”, return “olleh”.
分析: 经典字符串反转问题,有n种解法,考虑到时间复杂度最低,还是采用两头往中间凑的方法实现。 Code:
public class Solution { public String reverseString(String s) { if("".equals(s)||s.length() == 1) { return s; } char[] array = s.toCharArray(); int end = s.length() - 1; int halfLength = end / 2; for (int i = 0; i <= halfLength; i++) { char temp = array[i]; array[i] = array[end-i]; array[end-i] = temp; } return new String(array); } }其它解法 Google了一下其他的解法,发现大家对这个问题回答的都很嗨。比较好玩的解法有stack法,异或解法。第二篇采用了C#语言实现相关算法,并给出了性能的比较,推荐大家阅读。 具体请看链接: Java实现字符串反转的8种或9种方法 趣味算法:字符串反转的N种方法
