`
简单的茶
  • 浏览: 85761 次
  • 性别: Icon_minigender_2
  • 来自: 昆明
社区版块
存档分类
最新评论

java 实现字符串逆置

 
阅读更多
题目:
    写一个函数,将一个字符串变成倒序,结果存于原字符串,不得额外分配空间保存字符串。例如:abcdef 经变换后为 fedcba

算法思路:
     采用递归算法,字符两两交换。

package reverseString;

public class ReverseString
{

/**
* @param args
*/
public static void main(String[] args)
{
String test = "12345";
System.out.println(reverse(test, 0, (test.length() - 1)));
}

private static String reverse(String string, int startIndex, int endIndex)
{
if (startIndex >= endIndex)
return string;

// swap char at startIndex and endIndex
char characterAtEnd = string.charAt(endIndex);

if ((endIndex + 1) < string.length())
   string = string.substring(0, endIndex) +
string.charAt(startIndex) +
string.substring(endIndex + 1, string.length());
else
string = string.substring(0, endIndex) + string.charAt(startIndex);


  string = string.substring(0, startIndex) +
      characterAtEnd +
      string.substring(startIndex + 1, string.length());


  return reverse(string, ++startIndex, --endIndex);
}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics